【问题标题】:parse json from GET nodejs从 GET nodejs 解析 json
【发布时间】:2018-08-23 16:51:29
【问题描述】:

我通过 ajax 调用得到了这个

{ '0': '{"field":"doc_no","cond":"is","val":"","main_cond":"and"}',
  '1': '{"field":"doc_no","cond":"is","val":"","main_cond":"and"}' }

我想将它转换为 json 对象,但我无法从中得到任何东西。

尝试使用 JSON.parse,但缺少某些内容。

【问题讨论】:

  • 你得到什么错误?
  • 预期输出是什么?
  • 这不是一个有效的 JSON。 JSON 仅允许将双引号用作属性名称/值包装器
  • 我收到 SyntaxError: Unexpected token o in JSON at position 2

标签: javascript json node.js


【解决方案1】:

如果对象看起来像这样,你可以做一些进一步的解析:

let obj = { '0': '{"field":"doc_no","cond":"is","val":"","main_cond":"and"}',
  '1': '{"field":"doc_no","cond":"is","val":"","main_cond":"and"}' };
  
for(let p in obj) {
    obj[p] = JSON.parse(obj[p]);
}

console.log(obj);

【讨论】:

    【解决方案2】:
    { '0': '{"field":"doc_no","cond":"is","val":"","main_cond":"and"}',
      '1': '{"field":"doc_no","cond":"is","val":"","main_cond":"and"}' }
    

    这不是有效的 JSON 字符串。正确的是,例如:

    var parseMe = ' { "0": { "field": "doc_no", "cond": "is", "val": "", "main_cond": "and" },"1":{"field": "doc_no","cond": "is", "val": "", "main_cond": "and" }}';
    console.log(JSON.parse(parseMe));

    【讨论】:

      猜你喜欢
      • 2015-06-28
      • 2018-05-25
      • 1970-01-01
      • 2016-11-04
      • 2015-03-16
      • 2018-09-18
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多