我使用Gson库从java创建一个json,它返回给我类似的东西:
[{"title":"title1","author":"author1"},{"title":"title2","author":"author2"}]
如何解析和访问js文件中的值?
答案 0 :(得分:1)
我使用了很多w3schools网站here
var text = '{"name":"John Johnson","street":"Oslo West 16","phone":"555 1234567"}';
var obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
obj.name + "<br>" +
obj.street + "<br>" +
obj.phone;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2>JSON Object Creation in JavaScript</h2>
<p id="demo"></p>
答案 1 :(得分:1)
在JS中获取这些实际上非常简单,因为JSON对象只被js视为对象。
你可以这样做:
for (let i = 0; i < myArray.length; i++) {
let currObj = myArray[i];
let keys = Object.keys(currObj);
for (let j = 0; j < keys.length; j++) {
let myValue = keys[j];
doSomethingWithMyValue(myValue);
}
}
这将获得数组中每个对象的每个键的每个值。这应该为这些对象如何工作提供了一个很好的基线。
编辑:值得注意的是,还有一个Object.values(obj)方法,它将按顺序返回对象中所有值的列表,但它目前的浏览器支持非常差,因此您更安全使用Object.keys然后迭代上面显示的键。
答案 2 :(得分:1)
很难说您想要对数据做什么,以及是否存在重复的标题,如您的示例所示。然而...
var a = [{"title":"title1","author":"author1"},{"title":"title2","author":"author2"}];
a.forEach(function(v) {
doSomething(v.title, v.author);
});
应该有效
答案 3 :(得分:1)
使用for
循环
var json = [{"title":"title1","author":"author1"},{"title":"title2","author":"author2"}];
for (var i = 0; i < json.length; i++) {
console.log(json[i].title, json[i].author);
}
var string = '[{"title":"title1","author":"author1"},{"title":"title2","author":"author2"}]';
var json = JSON.parse(string);
for (var i = 0; i < json.length; i++) {
console.log(json[i].title, json[i].author);
}
答案 4 :(得分:1)
//Here an example ---
var elements=[{id:123, name:'lorem'},{id:456, name:'ipsum'},{id:998, name:'verrugas'}];
for (item in elements){
console.log(elements[item].name);
}
&#13;
答案 5 :(得分:0)
好的,这是一个非常的菜鸟问题。
首先,要访问我必须做的事情,比如
data.title
在我的情况下,我有一个数组,所以我不得不使用像
这样的东西var j = JSON.parse(data);
for (var i = 0; i < j.length ; i++) {
console.log(j[i].title);
}
当我第一次运行这个函数时,它说&#34; JSon意外的标识符Object,因为Gson已经返回json并且javascript试图创建一个json的json,所以我删除了JSON.parse (数据)现在可以了!
全部谢谢