【问题标题】:Not able to parse data combination of JSON as well as XML (Invalid JSON)无法解析 JSON 和 XML 的数据组合(无效 JSON)
【发布时间】:2020-04-03 07:18:26
【问题描述】:

我从源获得的价值是:像这样 JSON 和 XML 的组合(无效 JSON)

{"status":"success","statusCode":"200","result":[{"type":"abc","details":{"ax":{"value":"<?xml version="1.0" encoding="UTF-8"?>"},"tag":"jhgjg","jhgdj":{"khdjh":"no","value":"nhdhghgd","conf":90},"mother":{"value":"","conf":0}},"checksum":"jddkhjkdh"}]}

这不是有效的 JSON,即使在源端也不能进行任何修改。 虽然是这样,但我怎样才能解析数据。? 请提出建议。

【问题讨论】:

    标签: javascript json reactjs xml


    【解决方案1】:

    您必须转义那些双引号,例如:

    let json = '{"status":"success","statusCode":"200","result":[{"type":"abc","details":{"ax":{"value":"<?xml version="1.0" encoding="UTF-8"?>"},"tag":"jhgjg","jhgdj":{"khdjh":"no","value":"nhdhghgd","conf":90},"mother":{"value":"","conf":0}},"checksum":"jddkhjkdh"}]}'
      .replace(/version="/, "version=\\\"")
      .replace(/" encoding="/, "\\\" encoding=\\\"")
      .replace(/\"\?>/, "\\\"?>");
    
    console.log(JSON.parse(json));

    【讨论】:

      【解决方案2】:

      当然,您可以按照 Luis Ramalho 的建议避开引号,但为什么要以简单的方式做事呢? (:

      在这里,我已经隔离了&lt; &gt; 标签内的所有内容,并将双引号替换为单引号。

      let data = '{"status":"success","statusCode":"200","result":[{"type":"abc","details":{"ax":{"value":"<?xml version="1.0" encoding="UTF-8"?>"},"tag":"jhgjg","jhgdj":{"khdjh":"no","value":"nhdhghgd","conf":90},"mother":{"value":"","conf":0}},"checksum":"jddkhjkdh"}]}';
      
      const bracketRange = [data.indexOf('<'), data.indexOf('>')];
      
      let tag = data.slice(bracketRange[0], bracketRange[1] + 1);
      
      const quote = /"/g;
      
      tag = tag.replace(quote, "'");
      
      const beginning = data.slice(0, bracketRange[0] - 1);
      const ending = data.slice(bracketRange[1] + 1, data.length);
      
      data = beginning + tag + ending;
      
      console.log(data);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-08
        • 1970-01-01
        • 2019-06-28
        • 1970-01-01
        • 2015-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多