【问题标题】:Javascript - Parsing JSON including int as ObjectJavascript - 解析 JSON,包括 int 作为对象
【发布时间】:2023-03-05 17:31:01
【问题描述】:

经过多次测试和搜索,解析JSON后找不到导航方式;这是解析后的结果:

    Object {documentation: "https://geocoder.opencagedata.com/api", licenses: Array[2], rate: Object, results: Array[1], status: Object…}

文档 : "https://geocoder.opencagedata.com/api" 许可证 : 数组[2] 速度 : 目的 结果 : 数组[1] 0 : 目的 注释 : 目的 成分 : 目的 建造 : “C” 城市 : “波尔多” 国家 : “法国” 国家代码 : “法国” 县 : “波尔多” 邮政编码 : “33000” 路 : “Quai de Bacalan” 状态 : “阿基坦” 市郊 : “波尔多海事”

例如,我可以使用以下代码获取响应的值:

var locname = response.status.code;

但是在这种情况下有一个int作为Object,像这样:

var locname = response.results.0.formatted;

我有以下错误:

Uncaught SyntaxError: Unexpected number

我尝试转义字符,加上引号等,但找不到任何解决方案。

【问题讨论】:

    标签: javascript json object int


    【解决方案1】:

    在 javascript 中,对象也可以作为数组访问,例如,您有一个这样的对象:

    var obj = {name: 'Hans Yulian', age: 21, message: 'Handsome'};
    obj[0] = 'This is an number index';
    obj['message'] = 'Too Handsome';
    

    只要不是包含特殊字符(-+=! 等)且不以数字开头的键,所有键都会被接受。在任何情况下,您都有不满足此异常的字段,那么您必须以数组方式访问它。 您可以像数组一样分配值,也可以获取该字段的内容。

    如果您需要访问类似

    的内容
    var locname = response.results.0.formatted;
    

    那么你需要的是

    var locname = response.results[0].formatted;
    

    你可以尝试用这个内容制作一个html文件

    <script>
        var obj = {name: 'Hans Yulian', age: 21, message: 'Handsome'};
        obj[0] = 'This is an number index';
        obj['message'] = 'Too Handsome';
        obj[1] = {};
        obj[1].name = 'Handsome';
        obj.handsome = [];
        obj.handsome[0] = {};
        obj.handsome[0].hansyulian = 'So Handsome';
    
        console.log(obj);
        console.log(obj[1].name);
        console.log(obj.handsome[0].hansyulian);
    </script>
    

    并尝试查看控制台(右键单击,检查元素,为谷歌浏览器选择控制台)以了解那里发生了什么

    【讨论】:

    • 感谢汉斯,花时间回答我;我将通过您的示例深入探讨!
    【解决方案2】:

    由于 results 是一个数组,您必须使用以下语法:

    var locname = response.results[0].formatted;
    

    代替

    var locname = response.results.0.formatted;
    

    【讨论】:

    • 非常感谢,这很好用;我真是个菜鸟!
    • @bubu 太好了,然后请将问题标记为已回答:)
    猜你喜欢
    • 2020-01-08
    • 2019-12-07
    • 2014-12-02
    • 2020-02-25
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多