简体   繁体   English

如何Json解析包含“@”的字符串?

[英]How to Json Parse string containing "@"?

I have a json object that looks like this:我有一个看起来像这样的 json 对象:

{\"household\":{\"@id\":\"36963416\",\"@uri\":\"https://serviceapi.com/v1/Households/36963416\",\"@oldID\":\"\",\"@hCode\":\"8Z6iDWwZ7Rr3uY/atTYRMQ==\",\"householdName\":\"Test Test\",\"householdSortName\":\"Test\",\"householdFirstName\":\"Test\",\"lastSecurityAuthorization\":null,\"lastActivityDate\":null,\"createdDate\":\"2015-06-22T15:53:31\",\"lastUpdatedDate\":null}}

I am having difficulty using JSON.parse() because of the pesky "@" signs.由于讨厌的“@”符号,我在使用 JSON.parse() 时遇到了困难。 How should I parse this so that I can get the household @id value?我应该如何解析它以便我可以获得家庭@id 值?

Accessing the household id is done with this JavaScript expression:使用以下 JavaScript 表达式访问家庭id

var object= JSON.parse(yourString);
object.household["@id"]

specifically:具体来说:

var obj= JSON.parse("{\"household\":{\"@id\":\"36963416\",\"@uri\":\"https://serviceapi.com/v1/Households/36963416\",\"@oldID\":\"\",\"@hCode\":\"8Z6iDWwZ7Rr3uY/atTYRMQ==\",\"householdName\":\"Test Test\",\"householdSortName\":\"Test\",\"householdFirstName\":\"Test\",\"lastSecurityAuthorization\":null,\"lastActivityDate\":null,\"createdDate\":\"2015-06-22T15:53:31\",\"lastUpdatedDate\":null}}");
console.log('id:', obj.household['@id']);

You can parse the JSON normally:您可以正常解析JSON:

var test = "{\"household\":{\"@id\":\"36963416\",\"@uri\":\"https://serviceapi.com/v1/Households/36963416\",\"@oldID\":\"\",\"@hCode\":\"8Z6iDWwZ7Rr3uY/atTYRMQ==\",\"householdName\":\"Test Test\",\"householdSortName\":\"Test\",\"householdFirstName\":\"Test\",\"lastSecurityAuthorization\":null,\"lastActivityDate\":null,\"createdDate\":\"2015-06-22T15:53:31\",\"lastUpdatedDate\":null}}";
var objTest = JSON.parse(test);
console.log(objTest);
console.log(objTest["@id"]);

Working example工作示例

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

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