从 JSON 获取特定元素

Get a specific element from JSON

我知道这是一个非常简单和常见的问题;我已经阅读了一些 Q/A 但我不知道如何解决我的问题。

我从执行 SPARQL 查询的 AJAX 调用中得到了这个简短的 json:

{
  "head": {
    "vars": [ "name" , "email" ]
  } ,
  "results": {
    "bindings": [
      {
        "name": { "type": "literal" , "value": "Name Surname" } ,
        "email": { "type": "literal" , "value": "name.surname@email.com" }
      }
    ]
  }
}

我正在搜索应用程序单个用户的姓名和电子邮件,所以 结果应始终由单个元素组成。

我要检索的是用户的"name"。 我试过类似的东西:

response["name"].value
//or
response[0]["name"]
//or
response.name

但总是错的。

如何获取名称值?感谢所有愿意提供帮助的人。

试试这个

response.results.bindings[0].name.value
response.results.bindings[0].email.value

更新

Example

您可以查看此处创建的fiddle

http://jsfiddle.net/uqxp4j73/

代码如下

var x='{ "head": { "vars": [ "name" , "email" ]   } ,  "results": {  "bindings": [       {         "name": { "type": "literal" , "value": "aadil keshwani" } ,         "email": { "type": "literal" , "value": "name.surname@email.com" }       }     ]   }}';
obj = JSON && JSON.parse(x) || $.parseJSON(x);
console.log(obj);
console.log(obj["results"]["bindings"][0]["name"]["value"]);
alert(obj["results"]["bindings"][0]["name"]["value"]);

希望这对您有所帮助:)

在 JSON 中,您始终必须提供您想要访问的 属性 的完整路径。假设您已将解析后的 JSON 存储在变量 response 中,以下路径将为您提供相应的值。

response.results.bindings[0].name.value 名称 response.results.bindings[0].email.value 用于电子邮件

建议您通过 http://www.copterlabs.com/blog/json-what-it-is-how-it-works-how-to-use-it/ 了解 JSON 的基本概念。