我使用JSONObject來parser的函式庫,可以自行到Asset Store找下來安裝即可,免費的喔!
簡單講一下怎麼操作,分為Encoding與Decoding
Encoding
string ourPostData = "{\"Name\":\"Awei\"}";假設你有一串Json的字串,如何轉成JSONObject呢?
JSONObject encodingObject = new JSONObject (JSONObject.Type.OBJECT);執行結果
encodingObject.AddField ("ID",1);
encodingObject.AddField ("Name", "Awei");
encodingObject.AddField ("Age", "18");
print ("Hello : " + q["Name"]);
Hello : Awei
說明
第1行宣告1個JSONObject的物件,宣告同時,指定是一個空物件。
第2~4行把值塞入空物件,可以塞數值、字串或是陣列。
第5行將值讀出。
Decoding
string ourPostData = "{\"Name\":\"Awei\"}";假設你有一串Json的字串,如何轉成JSONObject呢?
JSONObject output = new JSONObject(ourPostData);執行結果
print (output["Name"]);
Awei
說明
第1行就是宣告1個JSONObject的物件,宣告同時,把json的字串帶入。
第2行就是印出output的物件,宣告的物件是1個陣列,可以帶Key的名字(ex:Name, Age),或是指定索引值(ex:0,1,2),取得該陣列的值。
用法大概是以上這樣,我是拿來做網路傳資料使用,所以在送出時,我需要把資料做Encoding然後處理成byte[]給網路去傳送,傳送的時候,直接在jsonobject後面加上.ToString(),即可轉成字串,丟給網路處理了;而接收的時候,就是使用Decoding將回傳的資料做解譯。