我如何只在Javascript中获得每个对象的名称和值?
有两种方法可以访问对象的属性:
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中获得它? 问题答案: 您可以用来获取所有密钥。然后,您可以遍历密钥以从中获得第一个密钥,例如:
问题内容: 我有一个.NET项目。我正在使用JSON.NET库。我需要使用该库来解析一些JSON。我的JSON看起来像这样: 该对象实际上只是键/值对的列表。我试图弄清楚如何使用JSON.NET来1)解析此JSON和2)通过键/值对进行循环。有没有办法做到这一点?如果是这样,怎么办? 我唯一看到的是将反序列化为强类型的对象。 非常感谢! 问题答案: 您可以反序列化为 由于JObject实现,因此您