需要用的 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
}