需要引入
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
json字符串转对象:
public static object DeserializeObjectStr(string str)
{
return JsonConvert.DeserializeObject(str);
}
将字符串格式化为JSON字符串:
public static string SerializationStr(string str)
{
return JsonConvert.SerializeObject(str);
}
把JSON字符串转化为list:
str:标识
JSON:JSON字符串
<T>要转换成的对象集合
public static List<T> JObjectToList<T>(string str, string json)
{
List<T> list = new List<T>();
try
{
JObject jObject = JObject.Parse(json);
JArray jArray = (JArray)jObject[str];
for (int i = 0; i < jArray.Count; i++)
{
T t = JsonConvert.DeserializeObject<T>(jArray[i].ToString());
list.Add(t);
}
}
catch (Exception)
{
list.Clear();
}
return list;
}
/// <summary>
/// 将键值对格式的字符串转换成Dictionary
/// </summary>
/// <typeparam name="T">key的类型</typeparam>
/// <typeparam name="K">value的类型</typeparam>
/// <param name="json">传入的json格式的字符串</param>
/// <returns>返回Dictionary</returns>
public static Dictionary<T, K> JsonStrToDictionary<T, K>(string json)
{
Dictionary<T, K> dictionary = new Dictionary<T, K>();
try
{
dictionary = JsonConvert.DeserializeObject<Dictionary<T, K>>(json);
}
catch (Exception)
{
dictionary.Clear();
}
return dictionary;
}
调用方式
Dictionary<string,string> Dic = JsonStrToDictionary<string, string>(json);