解析Freebase主题httpapi-JSON&;Javascript

解析Freebase主题httpapi-JSON&;Javascript,javascript,json,recursion,freebase,mql,Javascript,Json,Recursion,Freebase,Mql,我正在尝试解析JSON输出: 我想使用Javascript将基本数据放入一个数组中。在“properties”对象中,我想在“properties”下的一级抓取任何“text”元素作为标签,并在“values”对象下抓取“text”以匹配标签 对于以上内容,我将得到: “描述”:“哈兰·大卫” 桑德斯,更出名的是上校 桑德斯 “组织成立”:肯德基 “死因”:白血病 “死亡日期”:1980年12月16日 “所在地 死亡:路易斯维尔 “出生日期”: 1890年9月9日 “性别”:男性 等等 我

我正在尝试解析JSON输出:

我想使用Javascript将基本数据放入一个数组中。在“properties”对象中,我想在“properties”下的一级抓取任何“text”元素作为标签,并在“values”对象下抓取“text”以匹配标签

对于以上内容,我将得到:

  • “描述”:“哈兰·大卫” 桑德斯,更出名的是上校 桑德斯
  • “组织成立”:肯德基
  • “死因”:白血病
  • “死亡日期”:1980年12月16日
  • “所在地 死亡:路易斯维尔
  • “出生日期”: 1890年9月9日
  • “性别”:男性
等等

我有一些递归运行JSON的代码,但我是javascript和JSON的新手,在第一步中遇到了很多麻烦:

首先,通过将一个元素标识为主要属性对象的“元素”来获取“文本”;然后

其次,从关联的values数组中获取任何文本元素(如果该值是一个集合,那么我希望连接文本中的字符串,或者忽略它)

我希望这是有意义的

注意:我使用的代码与此处类似:

这应该让您开始:

<script>
  function cb(response) {
    var props = {};
    var properties = response['/en/colonel_sanders'].result.properties;
    for (var p_id in properties) {
      var prop = properties[p_id];
      props[prop.text]=prop.values[0].text;
    }
    console.log(props);
  }
</script>
<script src="http://www.freebase.com/experimental/topic/standard?id=/en/colonel_sanders&callback=cb"></script>

功能cb(响应){
var props={};
var properties=response['/en/collone_sanders'].result.properties;
for(属性中的变量p_id){
var prop=属性[p_id];
道具[prop.text]=道具值[0]。文本;
}
控制台日志(道具);
}