0

下午好,

我正在将 JSON 字符串从 Web 服务传递给 iOS 应用程序和 Android 应用程序。业务规则规定此 JSON 字符串可以包含带引号的数据。

{"message": [{"MessageID": "22", "CompanyID": "0897001", "MessageText": "this "message" has quotes", "JobID": "BT201-Main-1-031508-134700", "AttachmentCount": "0", "MainDevice": "1"},{"MessageID": "23", "CompanyID": "0897001", "MessageText": "this message has  no quotes", "JobID": "BT201-Main-1-031508-134700", "AttachmentCount": "0", "MainDevice": "1"}]}

在做了一点 google-ing 之后,我发现如果我想发送带引号的数据,我只需要在值内的引号前加上一个反斜杠:

{"MessageID": "22", "CompanyID": "0897001", "MessageText": "this \"message\" has quotes", "JobID": "BT201-Main-1-031508-134700", "AttachmentCount": "0", "MainDevice": "1"}

当 android 应用程序得到这个 JSON 时,它会很好地解析它。数据显示在视图中,带有引号和全部。iOS应用程序并非如此。我可以对 JSON 做些什么来让 iOS 应用程序正确解析 JSON?我目前在我的 iOS 应用程序中使用 SBJSON。任何帮助将不胜感激。谢谢!

4

2 回答 2

0

您能看到您提供给解析器的 JSON 实际上包含 \" 吗?JSON 是如何生成的?SBJson 确实正确处理了嵌入的引号。这是一个指向明确检查它的测试套件的特定部分的链接:

https://github.com/stig/json-framework/tree/master/Tests/Data/valid/string/escapes

于 2012-08-24T14:20:36.170 回答
0

iOS有什么问题。你也得到反斜杠吗?在这种情况下,模式替换呢?

于 2012-08-22T21:49:38.800 回答