Unity表數據解析Json數據(二)

歡迎加入Unity業內qq交流羣:956187480

qq掃描二維碼加羣


三種方法,自取:https://download.csdn.net/download/qq_37310110/11717676

方案一:

用unity自帶的工具類

 #region Unity自己的工具JsonUtility

    public static string ObjectToJson(object obj)
    {
        return JsonUtility.ToJson(obj); ;
    }
    public static T JsonToObject<T>(string  jsonStr)
    {
        return JsonUtility.FromJson<T>(jsonStr); ;
    }
    #endregion

方案二:

用工具LitJson.dll。

1.轉字符串的時候unicode沒有轉成漢子需要自己另外處理,

2.在ios端此工具無效

 #region LitJson用法
    //對象序列化Json
    public static string JsonSerialize(object obj)
    {
        return JsonMapper.ToJson(obj);
    }

    //Json反序列化
    public static object JsonDeSerialize(string jsonStr)
    {
        return JsonMapper.ToObject(jsonStr);
    }
    public static T JsonDeSerialize<T>(string jsonStr)
    {
        return JsonMapper.ToObject<T>(jsonStr);
    }
    //創建Json數據
    public static string CreatJsonData(string[] keys, string[] values)
    {
        JsonData jsonData = new JsonData();
        for (int i = 0; i < keys.Length; i++)
        {
            jsonData[keys[i]] = values[i];
        }
        return jsonData.ToJson();
    }
    /// <summary>
    /// 創建Json數據 數據嵌套
    /// </summary>
    /// <param name="keys">正常key</param>
    /// <param name="index">嵌套key下標</param>
    /// <param name="values">正常value</param>
    /// <param name="nestKeys">嵌套keys</param>
    /// <param name="nestValues">嵌套values</param>
    /// <returns></returns>
    public static string CreatJsonData(string[] keys,int index, string[] values, string [] nestKeys,  string [] nestValues)
    {
        JsonData jsonData = new JsonData();
        for (int i = 0; i < keys.Length; i++)
        {
            if (i==index)
            {
                jsonData[keys[i]] = new JsonData();
                for (int j = 0; j < nestValues.Length; j++)
                {
                    jsonData[keys[i]][nestKeys[j]] = nestValues[j];
                }
            }
            else
            {
                jsonData[keys[i]] = values[i];
            }
        }
        return jsonData.ToJson();
    }

    #endregion

方案三:

用工具NewTonSoft.Json.dll   

  #region Newtonsoft 用法
    public static string NJsonSerialize(object obj)
    {
        return JsonConvert.SerializeObject(obj);
    }

    public static T NJsonDeSerialize<T>(string jsonStr)
    {
        return JsonConvert.DeserializeObject<T>(jsonStr);
    }
    #endregion

https://download.csdn.net/download/qq_37310110/11717676


歡迎加入Unity業內qq交流羣:956187480

qq掃描二維碼加羣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章