我有一個iOS應用程序需要處理來自Web服務的響應。響應是一個包含序列化JSON對象,看起來像這樣一個序列化JSON字符串:如何使用NSJSONSerialization反序列化轉義的JSON字符串?
"{ \"name\" : \"Bob\", \"age\" : 21 }"
注意,該響應是一個JSON字符串,而不是一個JSON對象。我需要做的是反序列化的字符串,讓我得到這個:
{ "name" : "Bob", "age" : 21 }
,然後我可以用+[NSJSONSerialization JSONObjectWithData:options:error:]
反序列化到NSDictionary
。
但是,我該如何做第一步呢?也就是說,我如何「unescape」字符串,以便我有一個序列化的JSON對象? +[NSJSONSerialization JSONObjectWithData:options:error:]
只適用於頂級對象是數組或字典;它不適用於字符串。
我最後寫my own JSON string parser,我希望符合section 2.5 of RFC 4627。但我懷疑我忽略了使用NSJSONSerialization
或其他一些可用方法來做到這一點的簡單方法。
就切斷前端和後端quoteß然後替換所有'\「單曲用'''。 – 2013-06-05 19:49:59
然後你重複每個可能的轉義序列的迴避過程(有很多)。 – 2013-06-05 19:52:16
'\ uXXXX'轉義序列使得簡單的搜索和替換變得困難。 –