【问题标题】:Is it possible to parse JSON with javascript?是否可以使用 javascript 解析 JSON?
【发布时间】:2011-11-20 12:47:22
【问题描述】:

我有一个托管在另一个域(不是我的域)上的 JSON 文件的外部 URL。是否可以仅使用 javascript 解析这些信息?这是 JSON 数据的示例。我只想获取"q" 值。

[{"url":"http://website.com/?q=who+is+ip+search","q":"who is ip search"},{"url":"http://website.com/?q=eclipse+visual+editor","q":"eclipse visual editor"},{"url":"http://website.com/?q=partition+recovery","q":"partition recovery"},{"url":"http://www.website.com/?q=katzenfurz","q":"katzenfurz"},{"url":"http://website.com/?q=rtfm","q":"rtfm"},{"url":"http://website.com/?q=Google+ist+Dein+Freund","q":"Google ist Dein Freund"}]

【问题讨论】:

  • 检查here。或者here两者都有很好的解释和示例。
  • 我认为this site 可能是您正在寻找的。​​span>
  • 只是为了补充一些历史,JSON最初是在JavaScript中单独使用的,意思是JavaScript Object Notation。所以是的,JSON 应该可以用 JavaScript 解析。

标签: javascript json


【解决方案1】:

浏览器具有原生解析方法 -> JSON.parse() 和 JSON.stringify()

还有几个库增加了解析 JSON 的能力...

Eval 有时直接在 JavaScript 中使用 - 但使用此方法时经常存在安全问题 -> http://en.wikipedia.org/wiki/JSON#JavaScript_eval.28.29

【讨论】:

  • 哪些现代浏览器没有实现JSON.parse()?我认为没有...
  • @ŠimeVidas 可能就是这样......我认为一些移动浏览器没有实现它......也许是错误的
【解决方案2】:

是的,有一个内置的JSON.parse() 函数。只需将字符串传递给函数。

var obj = JSON.parse( data );

现场演示: http://jsfiddle.net/h4XTP/

【讨论】:

  • @bammab 不,您必须先检索 JSON 字符串...(当然是通过 Ajax)
  • 好的,我不确定那部分是我需要的,我会搜索文档谢谢
  • 我查看了 jquery 但我需要 javascript 因为我想将它用于 chrome 扩展,我不知道你是否可以使用 jquery
  • @bammab 如果是 Chrome 扩展程序,您可以安全地使用 XMLHttpRequest 对象来获取 JSON 数据...
【解决方案3】:

你知道的 JSON 是 JavaScript 对象;是的,您可以在 JS 中解析它。尽管您将远程服务器作为数据发布者,但您必须为该服务器配置回调函数。 要发出远程请求,您需要在页面中插入一个新的脚本标签,这将允许您指定远程 URL。响应将加载一个 JSON 对象作为您在请求中指定的回调函数的参数。

曾经在某处读过。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2013-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多