2

我正在尝试解析 JSON 输出:

http://www.freebase.com/experimental/topic/standard?id=/en/colonel_sanders

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

对于上述我会得到:

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

ETC...

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

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

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

我希望这是有道理的。

注意。我使用的代码类似于这里: http ://tlrobinson.net/projects/javascript-fun/jsondiff/

4

1 回答 1

1

这应该让你开始:

<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>
于 2010-08-01T04:42:07.827 回答