我正在与第三方API进行通信,该API返回JSON响应如下:
"{\"SomeResponse\":{\"FIrstAttribute\":8,\"SecondAttribute\":\"On\",\"ThirdAttribute\":{\"Id\":2,\"FirstName\":\"Okkie\",\"Name\":\"Bokkie\",\"Street\":\"\",\"StreetNumber\":null,\"PostCode\":\"\",\"City\":\"\",\"Country\":\"}}}"
这有点像JSON...但是作为字符串。请注意第一和最后的双引号以及所有转义斜杠。
目前,我通过使用String.replace解决这个问题,替换反斜杠和第一个和最后一个引号。之后,我就可以解析它了。
mystring.Replace("\\", "");
然而,如果其中一个属性实际上具有反斜杠作为值,该怎么办?例如:
\"SecondAttribute\":\"My Super Back Slash: \\ . That was it.\"
如果那样的话,我会意外地删除值中应该存在的反斜杠。
有人有关于如何正确解析这个 JSON 字符串的好主意吗?
Console.WriteLine
将其转储到控制台中,它会是什么样子? - Jon Skeet\}
不是有效的)。你能联系API生产者吗? - Jon Skeet