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

}


发布了40 篇原创文章 · 获赞 36 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/yzx5452830/article/details/79864668