2017-09-13 76 views
0

我有这样一个jsonString:嵌套Json-如何访问项目?

{ 
"total": 0, 
"subtotal": 88, 
"page": 1, 
"per_page": 100, 
"search": "records", 
"sort": { 
    "by": null, 
    "order": null 
}, 
"results": { 
    "x-name": { 
     "records": "[{\"instance\":\"devsupport\",\"details\":[{\"id\":\"2\",\"hostname\":\"a\",\"ip\":\"i\",\"macaddr\":\"m\",\"user_created\":\"system\",\"date_created\":\"2015-07-10 11:45:20\",\"date_last_update\":null}]" 
    }, 
    "y-name": { 
     "records": "[{\"instance\":\"devsupport\",\"details\":[{\"id\":\"2\",\"hostname\":\"a\",\"ip\":\"i\",\"macaddr\":\"m\",\"user_created\":\"system\",\"date_created\":\"2015-07-10 11:45:20\",\"date_last_update\":null}]" 
    } 

    } 
} 

所以我jo object创建这样的正确diplays:

Object jo = JObject.Parse(jsonString); 

我的主要问题是如何能得到hostname,ip,macadd R和等,并把他们在列表中考虑到 “结果”中的记录具有所有不同的名称,如x-name, y-name等。

+1

你将不得不在'x-name'或'y-name'中解析'records'的值,因为它是一个JSON字符串。 –

回答

0

您必须更改Json或解析里面records再次JSON,有像object->results->xname->records->ip

没有其他的直接的方法你可以不喜欢

recordsjson = object->results->xname->records 
records = JObject.Parse(recordsjson); 
ip = records->ip 

或者

改变你的records结构这样一个

"records": [ 
    { 
     "instance": "devsupport", 
     "details": [ 
     { 
      "id": "2", 
      "hostname": "a", 
      "ip": "i", 
      "macaddr": "m", 
      "user_created": "system", 
      "date_created": "2015-07-10 11:45:20", 
      "date_last_update": null 
     } 
     ] 
    } 
    ]