如何在自己工程專案中使用TouchJSON框架

2021-09-08 21:47:42 字數 1498 閱讀 7811

前提:配置到某具體的工程專案中

複製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...