我有JQuery的JSON数据返回 -
[["001","Item1","2011-03-15","2011-06-15"],["001","Item2","2011-07-15","2011-11-15"]]
如何获得每个值“001”,“Item1”......
答案 0 :(得分:5)
var json = [["001","Item1","2011-03-15","2011-06-15"],["001","Item2","2011-07-15","2011-11-15"]];
$.each(json, function(key1, item) {
$.each(item, function(key2, itemvalues) {
var test = itemvalues;
});
});
答案 1 :(得分:2)
var json_data = [["001","Item1","2011-03-15","2011-06-15"],["001","Item2","2011-07-15","2011-11-15"]];
var json_length = json_data.length;
var inner_length = 0;
for (var i = 0; i<json_length; i++)
{
inner_length = json_data[i].length;
for( var j = 0; j<inner_length; j++ ){
alert(json_data[i][j]);
}
}
我注意到它不是真正的JSON对象,但它是一个数组结构。所以我们只有2个for循环,以获取所有值。上面的代码应该显示这些数组中的所有值。
此外,您应该始终在for循环之外的某处定义数组长度。这样可以获得更好的代码和更快的执行速度,因为您不是每次都调用length
方法。
使用本机JS总是更快或至少与jQuery相同。
答案 2 :(得分:0)
您必须解析JSON,并迭代数组元素。
var datas = JSON.parse(yourJSON); // you get an array of arrays
var firstArray = datas[0]; // get the first of them
for(var i = 0, len = firstArray.length; i < len; i += 1) {
// you access the elements
}
对其他人(循环或其他)做同样的事情。
答案 3 :(得分:0)
假设:
var x = [["001","Item1","2011-03-15","2011-06-15"],["001","Item2","2011-07-15","2011-11-15"]];
Then this:
alert(x[0][0]);
将警告“001”值。
答案 4 :(得分:0)
var data = [["001", "Item1","2011-03-15"],["001", "Item2","2011-07-15"]];
for ( var i = 0, data_len = data.length; i < data; i++ ) {
for ( var j = 0, item_len = data[i].length; j < item_len; j++ ) {
var item = data[i][j];
console.log(item);
}
}
答案 5 :(得分:0)
for ( var i in json )
for ( var j in json[i] )
alert(json[i][j] )
答案 6 :(得分:0)
这不是真正的JSON。真正的JSON将如下所示:
[{ “键”: “值”},{ “键”: “值”}]
你的只是一个数组。所以只需迭代两个循环即可打印。
但是如果你想迭代JSON数据......请执行以下操作:
<小时/> 如果您使用的是JAVA,则需要执行以下操作:
import org.json.JSONArray;
public some_function () {
try {
String json = "you json string";
JSONArray jsonArr = new JSONArray (json);
}
catch (org.json.JSONException e) {
}
for (int i=0; i<jsonArray.length();j++) {
JSONObject json = new JSONObject(jsonArr.get(i));
JSONArray names= json.names();
JSONArray values = json.toJSONArray(names);
for (int j=0;j<values.length();j++)
//print "values";
}
}
如果您使用的是Python,请执行以下操作:
import simplejson as json
json_data = json.loads ("you json string")
for (json in json_data) :
print json[0]
答案 7 :(得分:0)
在jQuery中,您可以使用map展平您的数组:
var data = $.map(your_array_from_json, function(e) { return e; });
此data
之后是包含数据中所有元素的一维数组,例如:
["001","Item1","2011-03-15","2011-06-15","001","Item2","2011-07-15","2011-11-15"]