首页 > 用C#使用JsonHelper问题,用过的进来回答一下

用C#使用JsonHelper问题,用过的进来回答一下

主要解决的问题是提取一个微信公众号的自定菜单返回的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

【热门文章】
【热门文章】