【问题标题】:APEX JSON Generator writeString escapes quotesAPEX JSON 生成器 writeString 转义引号
【发布时间】:2012-04-07 16:56:07
【问题描述】:

在使用 JSON Generator 的方法 writeString 时,有没有办法不转义字符串中的引号?我得到以下结果:

"{\"Name\":\"asdsads\",\"Query\":\"adasdasd\"},{\"Name\":\"12312312\",\"Query\":\"3123123\"},{\"Name\":\"d23d2\",\"Query\":\"3d23d2\"}"

代替:

{"Name":"asdsads","Query":"adasdasd"},{"Name":"12312312","Query":"3123123"},{"Name":"d23d2","Query":"3d23d2"}

我尝试了replace('\\', '');replace('\\"', '"');,但没有成功。

感谢任何帮助。

【问题讨论】:

  • 告诉我们更多关于你想要做什么的信息。你可以序列化一个对象还是必须手动构建字符串?

标签: json salesforce apex-code


【解决方案1】:

解决了。必须执行以下操作:

String genString = gen.getAsString();
genString = genString.replace('\\"', '"');
genString = genString.replace('"{', '{');
genString = genString.replace('}"', '}');

由于某种原因,即时更换不起作用。

【讨论】:

    【解决方案2】:

    最好不要在 RestResource 类中添加上面的 sn-p,我建议在解析 Json 之前添加这个 sn-p。 它对我来说很好,因为我有从 RestResource 类生成的 Json。

    "{\n "Status" : "Success",\n "Count" : 6,\n "Accounts" : [ "AccontFromMyVF", "United Oil & Gas, UK", "United Oil & Gas, Singapore ", "联合石油和天然气公司", "AccontFromMyVF", "AccontFromMyVF12" ]\n}"

    添加以下内容后

       Accountresult = Accountresult.replace('\\n', '');
        Accountresult = Accountresult.replace('\\"', '"');
        Accountresult = Accountresult.replace('"{', '{');
        Accountresult = Accountresult.replace('}"', '}');
    

    我的回复变成了

    { "Status" : "Success", "Count" : 6, "Accounts" : [ "AccontFromMyVF", "United Oil & Gas, UK", "United Oil & Gas, Singapore", "United Oil & Gas公司”、“AccontFromMyVF”、“AccontFromMyVF12”]}

    通过这个 Json 我们可以轻松地执行解析操作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-14
      • 2017-07-24
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      相关资源
      最近更新 更多