四種方法解析JSON資料

2022-07-03 09:00:08 字數 1572 閱讀 8018

(1)使用touchjson解析方法:(需匯入包:#import "touchjson/json/cjsondeserializer.h")

1

//使用touchjson來解析北京的天氣

2 - (ibaction)btnpresstouchjson:(id

)sender

(2)使用sbjson解析方法:(需匯入包:#import "sbjson/sbjson.h")

1

//使用sbjson解析南陽的天氣

2 - (ibaction)btnpresssbjson:(id

)sender

(3)使用ios5自帶解析類nsjsonserialization方法解析:(無需匯入包,ios5支援,低版本ios不支援)

1 - (ibaction)btnpressios5json:(id

)sender

(4)使用jsonkit的解析方法:(需匯入包:#import "jsonkit/jsonkit.h")

1 - (void)btnpressjsonkit:(id

)sender ";

4 nslog(@"

json1:%@

",json1);

5 nsdictionary *data1 =[json1 objectfromjsonstring];

6 nslog(@"

json1.a:%@

",[data1 objectforkey:@"a"

]);7 nslog(@"

json1.b:%@

",[data1 objectforkey:@"b"

]);

8[json1 release]; 9//

如果json有巢狀,即value裡有array、object,如果再使用objectfromjsonstring,程式可能會報錯

10//

(測試結果表明:使用由網路或得到的php/json_encode生成的json時會報錯,但使用nsstring定義的json字串時,解析成功),最好使用objectfromjsonstringwithparseoptions:

11 nsstring *json2 = @"}"

; 12 nslog(@"

json2:%@

", json2);

13 nsdictionary *data2 =[json2 objectfromjsonstringwithparseoptions:jkparseoptionlooseunicode];

14 nslog(@"

json2.c:%@

", [data2 objectforkey:@"c"

]);

15 nslog(@"

json2.d:%@

", [data2 objectforkey:@"d"

]);16

[json2 release];

17 }

leetcode 138四種方法解析

題意 實現鍊錶的深拷貝,且鍊錶中的每個節點都有乙個指向鍊錶任意節點的指標。題意解析 這裡面有個深拷貝的概念,深拷貝是產生乙個完完全全的副本,並且原來母本變數不會發生任何改變,這才是深拷貝的實現。解析方法如下,用c 實現 include include include define nul 1 usi...

PHP遞迴四種方法

data json data str replace data arr json decode data true print r arr dir foreach arr as k v header content type text html charset utf 8 print r arr p...

執行緒同步四種方法

執行緒同步的方法 1 wait 使乙個執行緒處於等待狀態,並且釋放所持有的物件的lock。2 sleep 使乙個正在執行的執行緒處於睡眠狀態,是乙個靜態方法,呼叫此方法要捕捉 interruptedexception異常。3 notify 喚醒乙個處於等待狀態的執行緒,注意的是在呼叫此方法的時候,並...