前提:配置到某具體的工程專案中
複製touchjson框架源**到自己的工程專案中,即將touchjson/source目錄及檔案拷貝到專案中,在新增到工程專案中時確認選中「copy items into destination groups folder(if needed)」項。
轉換json資料到物件——即解析,反序列化操作
首先引入檔案:#import "cjsondeserializer.h"到專案具體原始檔中。
然後就可以將乙個含有json資料的nsdata物件進行轉換成乙個物件。
nsdata *thejsondata = /* 這裡是一些json資料 */
nserror *theerror = nil;
id theobject = [ [ cjsondeserializer deserializer] deserializeasdictionary : jsondata error:&error];
返回結果的物件的類(id theobject)取決於這個json資料的型別。如果這個物件是null則解析失敗,你需要檢查引數錯誤。
以下是解析過程的示例**:
nsstring *jsonstringsrc = @"從檔案讀取或者從網路獲得的json字串";nsdata *jsondata = [jsonstringsrc datausingencoding : nsutf8stringencoding];
nserror *error = nil ;
nsdictionary *dictionary = [ [ cjsondeserializer deserializer ] deserializeasdictionary : jsondata error : &error ];
上述**是將乙個含有json資料字典的字串轉換為乙個nsdictionary物件。如果上例中json根物件不是個字典則反序列化操作失敗。
轉換某物件到json資料——即生成,序列化操作
首先引入檔案:#import "cjsondataserializer.h"到專案具體原始檔中。
然後就可以將乙個具體物件序列化為乙個json資料。
nsdictionary *dictionary = [nsdictionary dictionarywithobject:@"b" forkey:@"a"];
nserror *error = null;
nsdata *jsondata = [[cjsonserializer serializer] serializeobject:dictionary error:&error];
nsstring *jsonstring = [[nsstring alloc] initwithdata:jsondata encoding:nsutf8stringencoding];
nslog(@"%@",jsonstring);
android 如何在自己的專案中使用 MVP
官方給我們寫了一些mvp的樣例工程,用不同的概念和工具實現同乙個todo專案。github位址 雖然在官方推出這套mvp開源用例之前,網路上也有很多優秀的開源專案教大家如何使用mvp模式,如果你之前沒看過,其實現在還有乙個好處,直接按官方的來做就是了 官方一出馬,其他的類似專案就啞火了 我看了一下官...
如何在Flutter專案中使用GraphQL
麼是graphql 這篇文章主要是看一下如何在flutter專案中使用graphql,如果不清楚graphql是什麼,建議先看下官網對其介紹 從圖中也能看出,分3部分 可以看出,在這個graphql server中,我們可以查詢 continents continent countries coun...
如何在CPP專案中使用CUDA
很多時候我們需要對乙個cpp專案中某一部分進行gpu加速,如下步驟能夠實現這一目的。直接新建或者開啟已有的cpp專案 右鍵專案,新建或者新增已有的.cu cu 件 注意 cpp檔案不能直接呼叫kernel函式 新增了cuda的標頭檔案也不行 於是我們可以以函式呼叫的方式,從.cpp檔案呼叫乙個.cu...