JSON解析筆記

2021-07-04 09:58:03 字數 1873 閱讀 9399

**一 重要!!!

**二
注意:如果if後面是0的話就執行**二,如果if後面是1 就執行**1

一,json簡介:

json 是一種輕量級的資料交換格式,檔案內容類似於oc的字典中的鍵值對。

二,json語法:

鍵值對表示:鍵名用雙引號括起來,冒號後面跟值。值為雙引號括起來的字串/中括號括起來的陣列/大括號括起來的字典形式。

其值型別可以對應oc型別:

1,數字:整數或者是浮點數

2,字串:在雙引號中

3,邏輯值:ture或false

4,陣列:在大括號中

5,字典:在大括號中

6,null:空值

三,json結構:

json 有陣列和字典兩種結構,通過這兩種結構可以表示各種複雜結構。

四,json解析:

1,解析本地檔案。

//1,根據路徑獲得檔案中的資料賦值給字串

nsstring *jsonstr = [nsstring stringwithcontentsoffile:mypath encoding:nsutf8stringencoding error:nil];

nslog(@」jsonstr=%@」,jsonstr);

//2,把字串轉化為nsdata資料

nsdata *data = [jsonstr datausingencoding:nsutf8stringencoding];

nslog(@"data=%@",data);

//把nsdata資料儲存到字典中去

nsdictionary *dic = [nsjsonserialization jsonobjectwithdata:data options:nsjsonreadingmutablecontainers error:nil];

2,解析網路上的。

1>//1,把網路位址字串轉化成url

nsurl *url = [nsurl urlwithstring:myurl];

//2,把從url上獲得的資料轉化成nsdata資料

nsdata *data = [nsdata datawithcontentsofurl:url];

//3,把獲得的資料通過nsjsonserialization轉化成字典

nsdictionary *dic = [nsjsonserialization jsonobjectwithdata:data options:nsjsonreadingmutablecontainers error:nil ];

nslog(@"%@",dic);

建立資料模型,把獲得 的資料給資料模型賦值(重要!!)

資料模型就是乙個類,有成員變數,如果僅僅是資料模型的話一般沒有其他方法,要實現-(nsstring *)description方法

//三層字典

2> for (id obj in [[[dic objectforkey:@」root」] objectforkey:@」books」] objectforkey:@」book」]) ;

name = "\u54c8\u5229\u6ce2\u727

price = "365.00";

summary = "\u4e3b\u4eba\u516c

其中"-id" = 3;

"-language" = en;

這兩個變數名和本類的成員變數名不同所以無法使用。

*///[book setvaluesforkeyswithdictionary:obj];

//新增到陣列當中去

[self.bookarr addobject:book];

}//吶喊

IOS筆記Json解析

新版sdk自身提供json解析庫,為了向下相容很多程式仍會採用其他類庫來解析,以下就是用jsonkit解析的例子 nslog 列印測試 nsstring jsonstring name samyou name samsam nsdata data jsonstring datausingencodi...

關於解析json筆記

例子1 json檔案內容 首先引入litjson.dll檔案 然後使用下面 即可進行解析 int string 列舉都可以解析 foreach jsondata item in jsondata item的類。public class item public string name public i...

ruby學習筆記 json解析

require rubygems require json def json to hash json json result json.parsejson return json result end 例如 以下格式json串 success true 經解析後會生成以下格式 json格式經解析後...