1. 程式人生 > >Unity 解析JSON資料

Unity 解析JSON資料

需要用的 LitJson dll   連線:點選開啟連結

using LitJson;
using System.Collections.Generic;
using LitJson;


public class JsonManager  {

    #region 解析Json 返回資料
    /// <summary>
    /// 解析Json返回sting
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key">Key</param>
    /// <returns>返回string</returns>
    public static string JsonToString(string jsonText, string key)
    {
        //轉化成json格式資料 
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        return jsonData[key].ToString();
    }

    /// <summary>
    /// 解析Json返回sting
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key1">Key1</param>
    /// <param name="key2">Key2</param>
    /// <returns>返回string</returns>
    public static string JsonToString(string jsonText, string key1, string key2)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);

        return jsonData[key1][key2].ToString();
    }
    public static string JsonToString(string jsonText, int key1, string key2)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);

        return jsonData[key1][key2].ToString();
    }
    /// <summary>
    /// 解析Json陣列返回String
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key">Key</param>
    /// <returns></returns>
    public static string JsonArrayToString(string jsonText, string key)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);

        for (int i = 0; i < jsonData.Count; i++)
        {
            if (jsonData[i].IsArray && jsonData[i][key] != null)
            {
                return jsonData[i][key].ToString();
            }
        }
        return null;
    }


   

    /// <summary>
    /// 解析Json返回int
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key">Key</param>
    /// <returns>返回int</returns>
    public static int JsonToInt(string jsonText, string key)
    {
        //轉化成json格式資料 
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        return int.Parse(jsonData[key].ToString());

    }

    /// <summary>
    /// 解析Json返回int
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key1">Key1</param>
    /// <param name="key2">Key2</param>
    /// <returns>返回int</returns>
    public static int JsonToInt(string jsonText, string key1, string key2)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        return int.Parse(jsonData[key1][key2].ToString());
    }

    /// <summary>
    /// 解析Json陣列返回Int
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key">Key</param>
    /// <returns></returns>
    public static int JsonArrayToInt(string jsonText, string key)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        for (int i = 0; i < jsonData.Count; i++)
        {
            if (jsonData[i][key] != null)
            {
                return int.Parse(jsonData[i][key].ToString());
            }
        }
        return 0;
    }

    /// <summary>
    /// 解析Json返回float
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key">Key</param>
    /// <returns>返回float</returns>
    public static float JsonToFloat(string jsonText, string key)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        return float.Parse(jsonData[key].ToString());
    }

    /// <summary>
    /// 解析Json返回float
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key1">Key1</param>
    /// <param name="key2">Key2</param>
    /// <returns>返回float</returns>
    public static float JsonToFloat(string jsonText, string key1, string key2)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        return float.Parse(jsonData[key1][key2].ToString());
    }

    /// <summary>
    /// 解析Json陣列返回Float
    /// </summary>
    /// <param name="jsonText">Json資料</param>
    /// <param name="key">Key</param>
    /// <returns></returns>
    public static float JsonArrayToFloat(string jsonText, string key)
    {
        JsonData jsonData = JsonMapper.ToObject(jsonText);
        for (int i = 0; i < jsonData.Count; i++)
        {
            if (jsonData[i][key] != null)
            {
                return float.Parse(jsonData[i][key].ToString());
            }
        }
        return 0f;
    }

    /// <summary>
    /// 解析Json陣列
    /// </summary>
    /// <typeparam name="T">泛型</typeparam>
    /// <param name="jsonText">Json資料</param>
    /// <returns></returns>
    public static T JsonArrayToT<T>(string jsonText)
    {
        return JsonMapper.ToObject<T>(jsonText);
    }
    #endregion

    #region 字串轉Json

    /// <summary>
    /// 字典轉Json
    /// </summary>
    /// <param name="dictionary">字典</param>
    /// <returns></returns>
    public static string DictionaryToJson(Dictionary<string, object> dictionary)
    {
        JsonData userData = JsonMapper.ToObject(JsonMapper.ToJson(dictionary));
        return JsonMapper.ToJson(userData);
    }


   

    #endregion

}


相關推薦

Unity 解析JSON資料

需要用的 LitJson dll   連線:點選開啟連結using LitJson;using System.Collections.Generic; using LitJson; public class JsonManager { #region 解析Js

c語言建立和解析json資料

之前一篇有說到使用lincurl庫獲取網頁資料,那麼問題來了,當我們獲取到的資料大多是json的格式,應該怎麼解析出我們需要的欄位呢?下面我們使用json-glib庫來對json資料進行建立和解析。 #include<json-glib/json-glib.h> #include

ajax中解析json資料的方式

eval();  //此方法不推薦 JSON.parse();  //推薦方法 一、兩種方法的區別 我們先初始化一個json格式的物件:   var jsonDate = '{ "name":"周星馳","age":23 }'   var

Gson解析json資料

簡介: Json資料是類似xml型別的資料轉化格式但是它的傳輸速率遠遠高於xml的解析速率。 這裡簡單的對用gson解析json格式的資料,為什麼說是簡單的介紹呢,因為博主有更簡單的解析方式後期會進行推出或者掃描頭像進 行私聊(公眾號)。 進行整合:  這裡按照a

後臺返回json資料給前臺和前臺解析json資料

後臺返回json資料和前臺解析json資料 一般來說web開發中,前臺採用json資料提交給後臺,後臺處理資料以後返回json資料給前臺,前臺解析json,顯示資料。 總而言之,前後臺直接交換的資料格式最常用的非json資料無疑了。 這裡就總結一些json資料的前後臺處理方式。

QT使用QJson生成解析Json資料的方法

QT中使用json還是比較方便的,下面用例子直接說明 舉例子之前首先推薦一個線上解析json格式的網站,具體格式用法如下圖所示: 之後根據這個格式進行json資料解析。 QT使用json需要包含的標頭檔案 #include<qjsondocument.h> #include<qj

android 快速解析json資料搭配Gson庫中Android Studio外掛 GsonFormat

轉:https://www.jianshu.com/p/d34c5e7c8227 更簡潔的文章:http://www.cnblogs.com/foxy/p/7825380.html 如果對json解析資料還不清楚的可以看一下我的例子:ExpandableListView+SQLite+Jso

【我的Android進階之旅】關於解析json資料中自帶轉義符號的正確操作

一、問題描述 在實現一個功能的時候,需要伺服器以json格式返回一段功能配置,比如如下所示的json配置。 1.1 我希望的json格式 { "k": "ClientFilterTrace_android", "isVisible": true

vb6裡解析json資料

vb6裡不支援json物件,這裡使用通過引用js來實現json的解析 獲取簡單的json串裡的值 Dim ScriptObj As Object Dim JsonStr As String JsonSt

java後端解析json資料

  寫這篇文章主要是供自己以後翻閱,也給廣大同胞一個參照 前端傳過來的json    String str1 = "{'array':[{'id':3,'type':'玩具','organId':4,'num':2}]}"; //key可以是任何引數 SONObject json

安卓開發筆記(九)—— HttpURLConnection請求訪問Web服務,解析JSON資料,多執行緒,CardView佈局技術(bilibili的使用者視訊資訊獲取軟體)

中山大學資料科學與計算機學院本科生實驗報告 (2018年秋季學期) 一、實驗題目 WEB API 第十四周實驗目的 學會使用HttpURLConnection請求訪問Web服務 學習Android執行緒機制,學會執行緒更新UI 學會解析JSO

Android 整合okhttp3、listview解析json資料

上上篇文章寫了個Android的模擬介面,終於派上用場了 現在我們將接口裡面的json資料通過ListView顯示出來,效果如下: 先講一下ListView吧, 講ListView之前,肯定要講Adapter,在Android應用程式中,採用資料和顯示分開實現的資料處理方式,由於資料來

android Gson解析JSON資料中動態未知欄位key的方法

有時在解析json資料中的欄位key是動態可變的時候,由於Gson是使用靜態註解的方式來設定實體物件的,因此我們很難直接對返回的型別來判斷。但Gson在解析過程中如果不知道解析的欄位,就會將所有變數儲存在一個Map中,我們只要例項化這個map就能動態地取出key和value了。先給出一段js

使用jsoncpp解析JSON資料

上節《JSON資料格式》中我們講到了JSON的資料格式和一些應用的地方,接著上面的說下去,jsoncpp和boost.property_tree都可以解析JSON檔案,我們先將jsoncpp如何解析。1.jsoncpp是什麼?2. 編譯jsoncppjsoncpp檔案中提供了vs71的工程檔案以及makere

JS-讀取解析JSON資料

       在資料傳輸流程中,json是以文字,即字串的形式傳遞的,而JS操作的是JSON物件,所以,JSON物件和JSON字串之間的相互轉換是關鍵。例如:   JSON字串:     var str

JavaScript解析JSON資料

1. json字串轉化為json物件 可以通過JavaScript的eval()函式來進行解析,程式碼如下: <script type="text/javascript"> var json = '{"key":"value","jian":"zhi"

Android-解析JSON資料JSON物件/JSON陣列)

在上一篇部落格中,Android-封裝JSON資料(JSON物件/JSON陣列),講解到Android真實開發中更多的是去解析JSON資料(JSON物件/JSON陣列)   封裝JSON的資料是在伺服器端進行封裝了,Android更多的工作是解析(JSON物件/JSON陣列),所以Android

Android-Gson解析JSON資料JSON物件/JSON陣列)

上一篇部落格,Android-解析JSON資料(JSON物件/JSON陣列),介紹了使用 org.json.JSONArray;/org.json.JSONObject; 來解析JSON資料;   Google Android 還提供來另外一種方式來解析JSON資料,那就是Gson;

JAVA解析JSON資料

JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for mac

如何統一解析JSON資料,使用Gson結合泛型類靈活,讓您一勞永逸

作為一名android 客戶端開發人員,學會解決問題和總結問題的習慣是很重要的。。。那麼我們app介面資料返回通常是以下格式: {"code":"0000","data": {"code":"0002","resultData":null,"resultMsg":"使用者T