简体   繁体   English

解析不带子节点的JSON文档返回未定义

[英]parsing a JSON document without childnodes returns undefined

A webservice returns this JSON below Web服务在下面返回此JSON

[
  {
"companyuserId": "2",
"name": "mike jones",
"superiorname": null,
"departmentId": "26",
"departmentname": "Design",
"companyId": "06",
"UDID": "8df912053a16ab2b4c66a",
"isActive": "1",
"devicetoken": "e8a4c1fad76b45d918f6745bfe60d32a81504",
"email": "mike@yahoo.co.uk",
"phone": "5456465465654"
  }
 ]

Thought it would be straight forward 以为会很直接

            name = data.name;
            phone = data.phone;
            email = data.email;
            departmentname = data.departmentname;
            companyId = data.companyId;

But I'm getting undefined, How else can I do this? 但是我变得不确定,我还能怎么做? I think maybe the data maybe in string format because when I alert data I get the result as pasted above rather than object: Object 我认为数据可能为字符串格式,因为当我提醒数据时,我得到的结果是粘贴在上面而不是对象:对象

That is an array of Objects .. And the Object is the First item inside an array.. So you need to use the index to access the object inside it.. 那是一个array of Objects ..而对象是array of ObjectsFirst item ..因此,您需要使用索引来访问其中的对象。

So instead of name = data.name; 因此,代替name = data.name; try this name = data[0].name; 试试这个name = data[0].name;

            name = data[0].name;
            phone = data[0].phone;
            email = data[0].email;
            departmentname = data[0].departmentname;
            companyId = data[0].companyId;

Your JSON object is an array of objects, so it has to be accessed with fully qualified name. 您的JSON对象是一个对象数组,因此必须使用完全限定的名称进行访问。

Try this: 尝试这个:

name = data[0].name;
phone = data[0].phone;
email = data[0].email;
departmentname = data[0].departmentname;
companyId = data[0].companyId;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM