我只是想知道如果任何人都可以推薦一個比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