我只是想知道如果任何人都可以推荐一个比org.json更好的替代方法来解码复杂的JSON字符串。作为参考,这将来自Web服务器直到Android(iOS,但这是另一个开发者的问题!)设备,它不必恢复。解码复杂的JSON字符串到各种对象
该字符串是下列性质...
{"header":"value","count":value, ..., "messages":[
{"messagetype":1,"name":"value"},
{"messagetype":2,"name":"value","name":value},
{"messagetype":1,"name":"value"},
{"messagetype":3,"name":"value","subvalues":["value",value,value]},
...
{"messagetype":4,"name":value,"name":"value","name":value}
]}
基本上,有一些报头字段,我可以永远依靠但这时会出现一个消息“阵列”,变量计数,内容和顺序。
我一直在研究这几天,现在已经驳回GSON和其他一些人,因为这要么事先知道确切的结构和/或不能很好地处理嵌入的类型(包含的消息)。
回答三个this question向我指出使用org.json library,我知道我可以使用通过字符串解析,但我想这个问题的答案的答复(” 这是超级老学校,没有人使用该库了在现实中的一个世界“)让我质疑我的做法。
任何人都可以提出一个图书馆/方法可以更好地处理这个问题吗?如果其他人已经使用另一种方法来处理这种复杂和可变的结构类型,我会非常感激你的意见。
在此先感谢。
你的消息行上是否有这些错别字? '{“messagetype”:2,“name”:“value”,“name”:value}'无效JSON(不能有重复键,不能有非分隔字符串文字)。其实,你的整个JSON例子都是乱七八糟的语法。 – Perception
该示例是传达结构的近似值,而不是有关数据的确切示例,因此“具有以下性质” – Mike
Android附带三个嵌入式JSON库。我会建议看看[Gson](https://code.google。com/p/google-gson /),因为它不仅可以做你认为它不会做的事,它还提供了许多你最终需要的功能(尽管你现在不认为你会这么做)。对于手动解析,请从[JsonParser](http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html?com/google/gson/JsonParser.html)课程开始。 – Perception