javascript - 解析 JSON 函数

标签 javascript

谁能给我解释一下这个解析函数是如何工作的?

function parseFlickrJson(jsonstring){
    var data=null;

    var jsonFlickrApi=function(d){
        data = d;
    }

    eval(jsonstring);

    return data;
}

最佳答案

JSON 实际上是有效的 JavaScript。所以你需要“解码”它,就是将它作为 JavaScript 来评估(因此 eval)。它还使用称为 JSONP http://en.wikipedia.org/wiki/JSONP 的东西。返回的不仅仅是 JSON。

JSONP 基本上是封装在函数调用中的 JSON。 JSONP 响应的内容可能是:

parseResponse({"Name": "Cheeso", Id : 1823, "Rank": 7})

这意味着当您评估 JSONP 时,它将尝试调用一个函数(在此示例中为 parseResponse,在您的示例中为 jsonFlickrApi)。这就是为什么必须在 eval(jsonstring) 发生之前定义 jsonFlickrApi 函数。

关于javascript - 解析 JSON 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5507355/

相关文章:

javascript - 发生模糊事件时如何更改节点?

javascript - 延迟加载 CSS 和 JS

javascript - React - this.props 看起来未定义

javascript - 位操作 : detect if at least 5 bits in byte are set?

javascript - 如何制作带有完整尺寸的阅读更多内容的帖子缩略图?

javascript - 无法在php中调用脚本标签

javascript - 改变 html slider 按钮滚动时的颜色

javascript - RequireJS 中依赖关系的相关路径定义

javascript - 如何在我的网站中正确实现用户系统 - 基本准则、javascript、 Node ?

javascript - 将值从一种模式传递到另一种模式