【问题标题】:JSON Deserializing in javascriptjavascript中的JSON反序列化
【发布时间】:2016-11-02 14:18:18
【问题描述】:

我有一个这样的json字符串

"{"value":"{\"success\":false,\"htmlCode\":\"Exists\",\"key\":\"xxxxxxxx-yyyy-zzzz-aaaa-bbbbbbbbbbbb\"}"}"

我正在尝试使用以下逻辑在 javascript 中对此进行反序列化并尝试访问其中的一个值。

obj = JSON.parse(data);
alert(obj.success);

但它总是失败。我也试过做

alert(obj.value.htmlCode);
alert(obj["value"].htmlCode);
alert(obj.value["htmlCode"]);

但没有任何效果。

有人可以帮忙吗?

【问题讨论】:

  • 它失败了 - 没有任何效果你得到什么错误?
  • obj.value 是 JSON 编码的字符串。所以你必须给它申请JSON.parse
  • 您的字符串没有正确写入。并不是所有的双引号都被转义了,这基本上意味着就 JS 而言,只有很少的字符串和一些未定义的引用。
  • 修复您的 JSON:不要对其进行双重编码。

标签: javascript jquery json serialization


【解决方案1】:

请从 JSON 代码中删除值

以下是更新后的 JSON 字符串
'{\"success\":false,\"htmlCode\":\"Exists\",\"key\":\"xxxxxxxx-yyyy-zzzz-aaaa-bbbbbbbbbbbb\"}';

它一定会解决你的问题

【讨论】:

    【解决方案2】:

    只要确保你逃脱了一切:

    var value = "{\"value\":{\"success\":false,\"htmlCode\":\"Exists\",\"key\":\"xxxxxxxx-yyyy-zzzz-aaaa-bbbbbbbbbbbb\"}}";
    
    console.log(JSON.parse(value));

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2014-12-13
      • 2016-12-30
      • 1970-01-01
      • 2018-07-15
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多