字符串轉(zhuǎn)換成json數(shù)據(jù)再轉(zhuǎn)換成字典(字符串相關(guān)操作和json解析)

1.數(shù)據(jù)格式(字符串)

ExtraData={"type":"1","id":"10030101","title":"我是廣告", "oglink":"http%3A%2F%2Fwww.baidu.com", "link":"http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com", "pic":"http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg", "logo":"1", "istrack":"1"};ExtraData={"type":"1","id":"10030101","title":"我是廣告", "oglink":"http%3A%2F%2Fwww.baidu.com", "link":"http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com", "pic":"http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg", "logo":"1", "istrack":"1"};

2.分析數(shù)據(jù)

數(shù)據(jù)類似json數(shù)據(jù)但是其實(shí)不是。我們發(fā)現(xiàn)數(shù)據(jù)還是相對(duì)標(biāo)準(zhǔn)。

(1)我們可以先把字符串中的"ExtraData="代替為空字符串"":theString等于上面的一整串字符串。

NSString*strResult= [theStringstringByReplacingOccurrencesOfString:@"ExtraData="withString:@""];

NSLog(@"strResult....%@",strResult);

strResult輸出結(jié)果為:

{"type":"1","id":"10030101","title":"我是廣告", "oglink":"http%3A%2F%2Fwww.baidu.com", "link":"http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com", "pic":"http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg", "logo":"1", "istrack":"1"};{"type":"1","id":"10030101","title":"我是廣告", "oglink":"http%3A%2F%2Fwww.baidu.com", "link":"http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com", "pic":"http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg", "logo":"1", "istrack":"1"};

(2)輸出結(jié)果類似于兩個(gè)字典,我們只要用字符串的提取方法把字符串從”;”分割出來組成一個(gè)數(shù)組:(注意:這里組成的數(shù)組的元素并不是字典,只是字符串,而且最后一個(gè)”;”后邊也有一個(gè)空的字符串“”,不能忽略)

NSArray*array = [strResultcomponentsSeparatedByString:@";"];

array的結(jié)果如下:

("{"type":"1","id":"10030101","title":"我是廣告", "oglink":"http%3A%2F%2Fwww.baidu.com", "link":"http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com", "pic":"http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg", "logo":"1", "istrack":"1”}","{"type":"1","id":"10030101","title":"我是廣告", "oglink":"http%3A%2F%2Fwww.baidu.com", "link":"http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com", "pic":"http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg", "logo":"1", "istrack":"1”}","")

(3)數(shù)組的部分?jǐn)?shù)據(jù)(除了最后一個(gè))是json數(shù)據(jù),就可以用json數(shù)據(jù)解析

NSString*jsonString = array[0];

NSData*jsonData = [jsonStringdataUsingEncoding:NSUTF8StringEncoding];

NSError*err;

NSDictionary*dic = [NSJSONSerializationJSONObjectWithData:jsonDataoptions:NSJSONReadingMutableContainerserror:&err];

輸出經(jīng)過json解析的字典dic:

{

id = 10030101;

istrack = 1;

link = "http://dol.tianya.cn/c?z=tianya&la=0&si=763&cg=717&c=10030101&ci=231&or=564&l=16320&bg=16320&b=16387&u=http%3A%2F%2Fwww.baidu.com";

logo = 1;

oglink = "http%3A%2F%2Fwww.baidu.com";

pic = "http://801.tianya.cn/dolphin/tianya/2016/02/0_502.jpg";

title = "\U6211\U662f\U5e7f\U544a";

type = 1;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容