以下是我使用php脚本生成的json对象
$to_encode[]= mysql_fetch_assoc($result);
echo json_encode($to_encode);
,输出
[{"wid":"2","repid":"1"}]
提取wid
和repid
的值我在js中给出的代码下面使用了
var obj = JSON.parse(data);
var a = obj.["wid"];
var b = obj.["repid"];
但我获得a
和b
的价值为undefined
而不是2
,1
答案 0 :(得分:0)
您的json对象实际上是一个对象数组(在这种情况下,只有一个对象:var obj = data[0] //access the first element of the json array
var a = obj.wid;
var b = obj.repid;
)。
这应该有效
long id;
IGenericQueryRepository<myentityclass, Entityname> InfoBase = null;
try
{
InfoBase = new GenericQueryRepository<myentityclass, Entityname>();
InfoBase.Add(generalinfo);
InfoBase.Context.SaveChanges();
id = entityclassobj.ID;
return id;
}
答案 1 :(得分:0)
看起来您的JSON不仅编码一个对象,而且编码包含一个对象的数组。但是该数组没有wid
和repid
属性,只有数组中的对象有!
尝试
{"wid":"2","repid":"1"}
只对一个对象进行编码而不将其放入数组或
obj[0]["wid"]
访问数组中第一个(也是唯一的)对象的属性。
顺便说一下,如果您知道属性的名称,则应使用点表示法:obj[0].wid
而不是obj[0]["wid"]
。
答案 2 :(得分:-1)
尝试使用obj[wid]
。数组以wid
为键,2
为值。