如何通过键

时间:2016-10-13 05:33:47

标签: javascript json

我想通过json结构中的关键字来获取消息。例如,json结构是:

[{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}

现在我想得到所有的信息并把它们放进一个档案馆。如何在javascript中实现这一点?感谢

5 个答案:

答案 0 :(得分:2)



var json = [{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}];
var arr = [];
for(i=0;i<json.length;i++) {
	arr.push(json[i].message);
}
console.log(arr);
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以使用Array.map()或循环遍历数组并将消息推送到数组。

&#13;
&#13;
var a = [{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}];

var b = a.map(function(obj){
   return obj.message;
});

console.log(b);
&#13;
&#13;
&#13;

答案 2 :(得分:1)

此答案适用于所有地方

var initialArray = [{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}]
var newArray = [];
for(i=0;i<initialArray.length;i++){
  newArray.push(initialArray[i].message)
}
console.log(newArray)

或更短的方式来编写上面的代码

var initialArray = [{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}],
newArray = [];

for (i = 0; i < initialArray.length; i++) newArray.push(initialArray[i].message);
console.log(newArray);

答案 3 :(得分:1)

Array#map使用 ES6 arrow function 方法。

var data=[{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}];

var res = data.map(v => v.message);

console.log(res);

使用传统功能代替箭头功能。

var data=[{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}];

var res = data.map(function(v){
   return  v.message;
});

console.log(res);

答案 4 :(得分:1)

另一种方法是使用JsonPath: http://goessner.net/articles/JsonPath/

var messages = jsonPath(yourArray, "$..message");

在我看来,在json中查找内容的最简单方法。