使用方法:
nsdictionary
*testdic = [[
nsdictionary
alloc
] initwithobjectsandkeys
:@"0"
,@"result"
,@"1020"
,@"bizcode"
,@"success"
,@"data"
, nil];
nslog
(@"testdic:%@"
,testdic);
nserror
*error;
nsdata
*jsondata; if
([nsjsonserialization
isvalidjsonobject
:testdic])
nsstring
*jsonstr = [[
nsstring
alloc
] initwithdata
:jsondata
encoding
:nsutf8stringencoding];
nslog
(@"jsonstr:%@"
,jsonstr);
nsdictionary
*jsondic = [
nsjsonserialization
jsonobjectwithdata
:jsondata
options:0
error
:&error];
nslog
(@"jsondic:%@"
,jsondic);
nsjsonserialization介面說明
官方為我們提供的解析json資料的類是nsjsonserialization,首先我們先來看下這個類的幾個方法:
+ (bool)isvalidjsonobject:(id)obj;
判斷乙個資料物件是否可以轉化為json資料
+ (nsdata *)datawithjsonobject:(id)obj options:(nsjsonwritingoptions)opt error:(nserror **)error;
將json資料寫為nsdata資料,其中opt引數的列舉如下,這個引數可以設定,也可以不設定,如果設定,則會輸出視覺美觀的json資料,否則輸出緊湊的json資料。
typedef
ns_options(nsuinteger, nsjsonwritingoptions)
+ (id)jsonobjectwithdata:(nsdata *)data options:(nsjsonreadingoptions)opt error:(nserror **)error;
這個方法是解析中資料的核心方法,data是json資料物件,可以設定乙個opt引數,具體用法如下:
typedef
ns_options(nsuinteger, nsjsonreadingoptions)
+ (nsinteger)writejsonobject:(id)obj tostream:(nsoutputstream *)stream options:(nsjsonwritingoptions)opt error:(nserror **)error;
將json資料寫入到輸出流,返回的是寫入流的位元組數
+ (id)jsonobjectwithstream:(nsinputstream *)stream options:(nsjsonreadingoptions)opt error:(nserror**)error;
從輸入流讀取json資料
IOS中JSON資料解析
官方為我們提供的解析json資料的類是 nsjsonserialization,首先我們先來看下這個類的幾個方法 bool isvalidjsonobject id obj 判斷乙個資料物件是否可以轉化為json資料 nsdata datawithjsonobject id obj options ...
IOS轉換和解析JSON資料
在ios開發中常用到使用json資料向伺服器傳送請求和接收資料,本例使用ios5自帶解析類nsjsonserialization方法解析,無需匯入包,ios5支援,但是低版本ios不支援。1.首先建立資料模型 mydata.h import import srtcjsonobject.h inte ...
IOS筆記Json解析
新版sdk自身提供json解析庫,為了向下相容很多程式仍會採用其他類庫來解析,以下就是用jsonkit解析的例子 nslog 列印測試 nsstring jsonstring name samyou name samsam nsdata data jsonstring datausingencodi...