【问题标题】:Embedd xml in json在 json 中嵌入 xml
【发布时间】:2013-11-27 13:20:49
【问题描述】:

我想在 json 字符串中嵌入一个 xml 字符串。我从 web 方法返回这个 json,在客户端我必须从这个 json 数据中提取 xml 字符串。 我试过这个:

var data= $.parseJSON(jsonResponse);

但由于 jsonResponse 包含 XML 数据,它会变成无效的 json 并且无法解析。

有什么办法可以成功的将xml字符串嵌入json中并提取出来?

编辑:

尝试编码xml字符串:

 System.Security.SecurityElement.Escape(xmlString)

然后将其添加到json字符串中。

仍然在客户端无法解析 json

编辑 尝试了 Ted Johnson 的解决方案,问题得到了部分解决。

现在我可以解析 json 并提取其他属性。但是在访问 xml 属性时,它说未定义。也无法解码。

【问题讨论】:

  • 您可以对 XML 进行编码,然后在客户端解码。
  • @ahren 已经试过了。没用
  • 你的问题并不是说你试过了。向我们展示您尝试过的一切,以免我们最终浪费时间。您可能使用了错误的编码函数。

标签: c# javascript jquery xml json


【解决方案1】:

您需要执行以下操作。

  1. 确保将 XML 编码为项目引用转义。因为 XML 需要被解析为字符串。在c#中有一个标准的方式,URL Encoding using C#
  2. 解析JSON
  3. 访问将 xml 编码为字符串并对其进行解码的 JSON 属性。 http://www.w3schools.com/jsref/jsref_decodeuri.asp

  4. 解析 XML ...http://api.jquery.com/jQuery.parseXML/ 并保存结果以供使用。

【讨论】:

  • 谢谢。这部分奏效了。我的意思是现在我可以解析 json 并提取其他属性。但是在访问 xml 属性时,它说未定义。也无法解码
  • 查看您的浏览器网络流量并从那里进行验证。问题是为什么 parseJSON 会改变字符串?我猜它根本没有在响应中发送。如果您缩小了问题范围但仍然感到困惑,请分享详细信息。
猜你喜欢
  • 2016-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
  • 1970-01-01
相关资源
最近更新 更多