我想通过json结构中的关键字来获取消息。例如,json结构是:
[{ _id: 123, message: 'hello', username: '1' }, { _id: 456, message: 'world', username: '2'}
现在我想得到所有的信息并把它们放进一个档案馆。如何在javascript中实现这一点?感谢
答案 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;
答案 1 :(得分:1)
您可以使用Array.map()
或循环遍历数组并将消息推送到数组。
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;
答案 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中查找内容的最简单方法。