想用JSON.NET将JSON字符串直接转换为定义的对象,但是下面的JSON格式有一个属性是动态的:
{'week':'周一','school':'第一中学','classList':{'001':{'name':'初一一班','num':'30人'},'002':{'name':'初一二班','num':'22人'},'003':{'name':'初一三班','num':'32人'}}}
就是001,002,003 这样一直下去,具体多少个是根据数据返回而定的
这种情况是否可以定义一个MODEL并进行转换?如果不行,那怎么去读取这种结构数据呢?
{
'001':{'name':'初一一班','num':'30人'},
'002':{'name':'初一二班','num':'22人'},
'003':{'name':'初一三班','num':'32人'}
}
这样格式化一下,是不是就很清楚了——键值对,用 Dictionary<string,xxx>。
如果就是你说的这个字符串格式了,怎么转换为 Dictionary<string,xxx>。用什么类的什么方法啊?
@犇牛牛: 我找到方法了,JsonConvert.DeserializeObject<Dictionary<string, x>>(xObject);
直接操作JObject吧,也挺方便的。
为什么你的classList不是数组?这个可以从设计上解决吧。
设计的问题,把classList的值变成数组就应该能实现了
同上。
JObject