主要解决的问题是提取一个微信公众号的自定菜单返回的Json数据。。。。。。
JsonHelper中转换对象代码:
/// 把json格式转换为对象
public static T Json2Obj<T>(string jsonString)
{
using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
return (T)new DataContractJsonSerializer(typeof(T)).ReadObject(ms);
}
}
使用List获取数据
List list = JSONHelper.Json2Obj(content);
但是出现了错误:
错误 1 无法将类型“weixinMenu.Menu”隐式转换为“System.Collections.Generic.List<weixinMenu.Menu>”
请问怎么解决,或者帮我解释下这个JsonHelper的具体原理用法。
根据错误1与方法返回值,方法返回的应该是一个Menu对象,而不是一个Menu List
//获取你要转换的类型类型,再进行转换json这只能转换相同对象
string item = Json2Obj(jsonString);
//按你的报错信息来看的话是和楼上一样,是一个对象并不是一个集合
var list = Json2Obj<weixinMenu.Menu>(jsonString);
先把jsonString打印出来看看是什么结构来决定T的类型
var list = Json2Obj<weixinMenu.Menu[]>(jsonString);
var item = Json2Obj<weixinMenu.Menu>(jsonString);
解析json最好用Newtonsoft.Json