【问题标题】:Sencha JSON Parsing - broken JSON?Sencha JSON 解析 - 损坏的 JSON?
【发布时间】:2012-01-16 13:48:44
【问题描述】:

我在解析一些 JSON 时遇到了一些问题。

整理服务器代码的人向我保证一切都很好,但是每当我尝试通过 sencha touch 中的 JSONP 代理解析一些 JSON 时,我都会收到警告“资源解释为其他但传输的 MIME 类型未定义。 ”。这告诉我,API 端的格式被破坏了。

示例回调是:http://api.pickple.com/comment/list?post_key=201108240008&site_key=etnews_20110616&format=json(抱歉,里面有韩语)

我用来解析的代码是:

Ext.define('Paythread.model.Comment', {
    extend: 'Ext.data.Model',
    fields: ['user_id', 'total_count'],

    proxy: {
        type: 'jsonp',
        url: 'http://api.pickple.com/comment/list?post_key=201108240008&site_key=etnews_20110616&format=json',
        reader: {
            type: 'json',
            root: 'result' 
        }
    }

});

我已经在本地使用 JSON 文件尝试了相同的完全相同的代码,并且一切正常,所以我大约 95% 确定问题出在我如何解析它或 JSON 返回本身。

有什么想法吗?

【问题讨论】:

    标签: json sencha-touch jsonp extjs


    【解决方案1】:

    尝试通过 json 格式化程序/验证器运行您的 JSON,例如:http://jsonformatter.curiousconcept.com/http://jslint.com/

    【讨论】:

    • 感谢 M69,确实是可怕的 JSON 搞砸了 sencha touch 代理阅读器。
    【解决方案2】:

    您发布的链接不包含有效的 JSON。我会从那里开始。

    JSON 的开头是:

    {
        "status_code": 200,
        list: { {
    

    list 必须用引号括起来才能成为 JSON 对象中的键,{{ 无效。你想要一个对象数组吗? ([{ ... }])

    此外,JSON 中的许多字符串(cmets,主要是韩语)都包含换行符。 JSON 可以包含换行符,但它们必须被转义。这是无效的:

    { "comment": "Hello there
    What a nice day" }
    

    这是有效的:

    { "comment": "Hello there\nWhat a nice day" }
    

    最后:

    我收到警告“资源解释为其他,但传输的 MIME 类型未定义。”

    这可能是因为您发布的 URL 在 HTTP 响应的 Content-Type 标头中将该资源标识为“text/html”。这绝对是 not HTML,所以这是错误的,如果它是 JSON(它看起来像 JSON),那么它应该被识别为这样。 (这可能是您收到警告的原因,因为它不是。)

    【讨论】:

    • 现在正在努力改变它......至少我知道现在的问题是什么。您可能会看到我对此很陌生。 :)
    • 一个小问题......读者正在寻找的“根”是如何定义的?
    • 很接近了。我已经编辑了我的帖子,我想如果你修复了这些东西,它应该会解析。您可以控制 URL 吗?
    • @Mavorus:我只是试图将您的 URL 内容解析为 JSON,它非常接近,但并不完全。不确定 JSON 上下文中的“根”是什么,但它似乎与您的框架有关。
    • 在应该解释 JSON 的阅读器中,需要一个根作为起点。在这种情况下,它会是“列表”吗?
    猜你喜欢
    • 2018-05-16
    • 2016-10-20
    • 2015-02-02
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多