Objective-C JSON数据引号

时间:2012-08-22 21:46:11

标签: android objective-c ios json sbjson

下午好,

我将一个JSON字符串传递给iOS应用程序和一个来自Web服务的Android应用程序。业务规则规定此JSON字符串CAN包含带引号的数据。

{"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之后,我发现如果我想发送附有引号的数据,我只需要用反斜杠在值内加引号:

{"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。任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

你能看到你正在为解析器提供的JSON实际上是否包含它??JSON是如何生成的?SBJson确实正确处理了嵌入式引号。这是指向显式检查的测试套件特定部分的链接它:

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