对方用PHP的json_encode生成[[aaa,bbb],[ccc,ddd]]这样的json字符串。我是用c#解析的,我想定义一个类,然后直接通过JsonConvert.Import转换过来,可总是提示“Cannot import test.datas from a JSON Array value.”下面是类的定义:
public class datas
{
public data1[] Stockdata;  作为一级数组
} public class data1
{
public data2[] Stockinfo;   作为二级数组
} public class data2
{
public string data;   最里面的数据
}然后通过下面的方式调用:(datas)JsonConvert.Import(typeof(datas), test1)  '字符串变量test1存放的就是上面的json字符串。第一次接触json,请帮忙指出这里什么的错误。或是有什么更好的办法来解决么?谢谢!

解决方案 »

  1.   

    static T Deserialize <T>(string json) 
            { 
                T obj = Activator.CreateInstance <T>(); 
                using (MemoryStream ms = 
    new MemoryStream(Encoding.UTF8.GetBytes(json))) 
                { 
          System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = 
    new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType()); 
                    return (T)serializer.ReadObject(ms); 
                } 
            }