【问题标题】:Parsing the Freebase Topic HTTP API - JSON & Javascript解析 Freebase 主题 HTTP API - JSON 和 Javascript
【发布时间】:2011-03-23 17:57:46
【问题描述】:

我正在尝试解析 JSON 输出:

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

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

以上我会得到:

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

等等……

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

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

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

我希望这是有道理的。

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

【问题讨论】:

    标签: javascript json recursion freebase mql


    【解决方案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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-15
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-07
      • 1970-01-01
      • 2015-06-02
      相关资源
      最近更新 更多