当前位置: 首页 > 知识库问答 >
问题:

Javascript中的JSON响应解析以获取键/值对[duplicate]

申屠无尘
2023-03-14

我如何只在Javascript中获得每个对象的名称和值?

共有1个答案

何海
2023-03-14

有两种方法可以访问对象的属性:

var obj = {a: 'foo', b: 'bar'};

obj.a //foo
obj['b'] //bar

或者,如果需要动态地执行:

var key = 'b';
obj[key] //bar

如果您还没有将其作为对象,则需要对其进行转换。

对于一个更复杂的示例,让我们假设您有一个表示用户的对象数组:

var users = [{name: 'Corbin', age: 20, favoriteFoods: ['ice cream', 'pizza']},
             {name: 'John', age: 25, favoriteFoods: ['ice cream', 'skittle']}];

若要访问第二个用户的age属性,可以使用users[1].age。若要访问第一个用户的第二个“FavoriteFood”,请使用users[0].favoriteFoods[2]

另一个示例:obj[2].key[3][“some key”]

它将访问名为2的数组的第3个元素。然后,它将访问该数组中的'key',转到该数组的第三个元素,然后访问属性名some key

正如Amadan所指出的,可能还值得讨论如何在不同的结构上循环。

要在数组上循环,可以使用简单的for循环:

var arr = ['a', 'b', 'c'],
    i;
for (i = 0; i < arr.length; ++i) {
    console.log(arr[i]);
}

在对象上循环要复杂一些。如果您完全肯定对象是普通对象,则可以使用普通for(xinobj){}循环,但添加hasOwnProperty检查要安全得多。在无法验证对象没有继承属性的情况下,这是必要的。(它将来也会对代码进行一些验证。)

var user = {name: 'Corbin', age: 20, location: 'USA'},
    key;

for (key in user) {
    if (user.hasOwnProperty(key)) {
        console.log(key + " = " + user[key]);
    }
}    

(注意,我假设您使用的任何JS实现都有console.log。如果没有,您可以使用alert或某种DOM操作。)

 类似资料:
  • 如何从json响应中获取键“存在”的值?我之前试过 但它不起作用。如果我print_r回应,这就是正在打印的内容: 我当前的代码:

  • 我得到了响应从REST API到响应对象后,通过RestAsared API调用。 响应主体是json,我想从中获取特定的键值吗? 以下是代码 如何在字符串中获取特定的键值?

  • 问题内容: 我通过JavaScript收到了带有AJAX请求的JSON响应。 这是响应: 我的目标是获取内容: json变量是我的情况下的数据。因此,我尝试了: 但是我得到一个空字符串。 关于如何访问字符串的任何想法? 先感谢您。 问题答案: 您是否首先解析json? 比阅读

  • 我已经使用API从API中提取了JSON响应,请放心,它看起来像这样: 现在,我实际的JSON响应在JSON数组中有数千个JSON对象,一些键有空值,例如“secondKey”在一些JSON对象中有空值。我需要获取JSON响应中所有空值的键。对我该如何做有什么想法吗? 我解决这个问题的想法是使用Jackson库反序列化JSON并获取所有空值。然而,考虑到性能,是否有任何有效的解决方案?

  • 问题内容: 我是JSON的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个JSON对象参考,我想获取Key(对象只有一个“键值对”)。如何在Java中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:

  • 问题内容: 我正在返回一个json,如下所示 我正在尝试获取每个元素的键和值: 我正在戒备。为什么?我尝试过,我尝试循环但没有成功。 问题答案: 检查这个jsfiddle 从 jQuery 3.0开始 ,不推荐使用$ .parseJSON。要解析JSON字符串,请改用本机JSON.parse方法。 来源:http://api.jquery.com/jquery.parsejson/