XML到JSON转换似乎添加了额外的反斜杠

时间:2013-05-03 10:02:37

标签: c# xml json json.net

我正在尝试使用Newtonsoft JsonConvert.SerializeXmlNode将xml文档转换为json。

string json = JsonConvert.SerializeXmlNode(xmlDoc);
return json;

xmlDoc.InnerXml包含

<?xml version=\"1.0\" encoding=\"UTF-8\"?><fql_query_response xmlns=\"http://api.facebook.com/1.0/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" list=\"true\"><stream_post><message>Tyck till om kampanjen!\r\n\r\n

当我进行转换时,会添加额外的转义字符。

{\"?xml\":{\"@version\":\"1.0\",\"@encoding\":\"UTF-8\"},\"fql_query_response\":{\"@xmlns\":\"http://api.facebook.com/1.0/\",\"@xmlns:xsi\":\"http://www.w3.org/2001/XMLSchema-instance\",\"@list\":\"true\", 
{\"message\":\"Tyck till om kampanjen!\\r\\n\\r\\n

为什么会这样,我可以阻止吗?我可以删除额外的字符,但似乎有一个我缺少的设置或其他东西。

此致 大卫

1 个答案:

答案 0 :(得分:2)

前几天我和Java有同样的问题。这是因为你是一个字符串化的JSON。我的意思是你在做类似的事情:

(JAVASCRIPT)
var str = JSON.stringify(data);
return JSON.stringify(str);