如何读取JSON格式的字符串数据数据?
问题描述:
我是javascript的新手。我正在尝试以json格式读取javascript数据。如何读取JSON格式的字符串数据数据?
data.json:
[[Hi, Helo, Mort,Top, Est, Fist]]
name: { categories: []}
读取数据和assiging至名:
$.getJSON('data.json', function(data) {
name.categories = name.toString();
});
但它不为我工作。请帮帮我。我如何正确读取它?
答
首先,您需要创建javascript数组对象。
- 之后,您必须将json数据循环并将其逐一存储到数组对象中。
例子:
var categories = [];
var jsonobj;
$.getJSON('data.json', function(data) {
jsonobj = data;
});
for (i in obj) {
var temp = [];
temp.push(obj[i].'jsondata');
}
希望这是回答你的问题。你可以参考这个link:
答
var items = [];
$.getJson('data.json', function(data) {
$.each(data, function(index, value) {
items.push(value);
})
})
希望它会帮助你。
答
我想推荐你检查你的json数据。用字符串的数组结构良好
一个JSON数据可能是:
["Hi", "Hello", "Test"]
如果您需要帮助,以验证您的JSON数据,你可以使用这个链接:http://pro.jsonlint.com/
关于您的问题,潘卡古普塔的回答是一个很好的选择。
不要忘了在javascript语句的末尾使用分号。
var items = [];
$.getJson("data.json", function(data)
{
$.each(data, function(index, value)
{
items.push(value);
});
});
答
1.You更换name.toString()
到data
。然后它会工作。
var name = {
categories: []
};
$.getJSON('data.json', function(data) {
name.categories = data;
});
2.也可以通过助手对象设置。 Helper.setArray(name.categories, data);
而不是name.categories = data;
。通常,我使用助手进行解析和其他目的。
var Helper = {
clearArray: function(arr) {
if (arr && Array.isArray(arr)) {
arr.length = 0;
}
},
pushArray: function(arr1, arr2) {
if (arr1 && arr2 && Array.isArray(arr1)) {
arr1.push.apply(arr1, Array.isArray(arr2) ? arr2 : [arr2]);
}
},
setArray: function(arr1, arr2) {
this.clearArray(arr1);
this.pushArray(arr1, arr2);
}
}
与小提琴相比,上面的代码是不完整的。 –
@RickCalder:我同意瑞克。我只是将小提琴链接粘贴为参考目的。不是为了一个实际的答案。 – Henry