我从PHP get请求中收到一个JSON对象。它看起来像这样:
data == {"user_id":"7","emp_type_id":[{"0":"11","1":"10"}]}
我需要访问emp_type_id中的项目(在这种情况下为“11”和“10”)。
我可以使用数据[“user_id”]访问user_id,但无法弄清楚如何获取其他项目。我尝试了各种变体:
eti=data["emp_type_id"];
var myVar = eti[0];
我想最终遍历emp_type_id中的所有项目并将它们添加到JS数组中。
答案 0 :(得分:2)
使用for in循环
var data = {"user_id":"7","emp_type_id":[{"0":"11","1":"10"}]};
var eti = data["emp_type_id"];
var myVar = eti[0];
for(var entry in myVar){
alert(entry + ":\t" + myVar[entry] );
}
答案 1 :(得分:1)
Neal的回答会有所帮助,但我认为你还有其他问题。您的json结构看起来不对
a) data == {"user_id":"7","emp_type_id":[{"0":"11","1":"10"}]}
应该是
b) data == {"user_id":"7","emp_type_id":["11","10"]}
那是英文
a)emp_type_id是一个包含两个字段0
和1
的对象的数组?
b)emp_type_id包含值11
和10
的两个项目的数组
如果它应该是b)那么你的json就错了。
答案 2 :(得分:1)
data是一个具有两个属性user_id和emp_type_id的对象。 emp_type_id是一个包含一个元素(???)的数组,该元素是一个属性为0和1的对象。
有两种方法可以从对象中读取属性:
var prop = data['emp_type_id'];
var prop = data.emp_type_id;
如果你有“怪异”的属性名称,那么你将不得不使用方括号技术。
所以
var prop0 = data.emp_type_id[0].0;
var prop1 = data.emp_type_id[0].1;
我担心“0”和“1”属于“奇怪的属性名称”类别,因此您可能需要这样做
var prop0 = data.emp_type_id[0]["0"];
var prop1 = data.emp_type_id[0]["1"];
答案 3 :(得分:0)
试试这个:
var eti = data.emp_type_id;
var myVar = eti[0];
答案 4 :(得分:0)
var eti = data.emp_type_id;
var myVar = eti[0];
for(var key in myVar){
myVar[key];
}