接口返回JSON字符串:
"[\n [\n {\n \"id\": \"56d55e5fa076570d7624cd65\",\n \"url\": \"http://a12cfa748e3798590a15.b0.upaiyun.com/apicloud/7abb650ab1ac16a4a30e56174271d297.png\",\n \"AppVer\": \"下载版本\",\n \"createdAt\": \"2016-03-01T09:18:23.707Z\",\n \"updatedAt\": \"2016-03-02T01:10:36.824Z\"\n },\n {\n \"id\": \"56d6504b94cbf6192e1570f0\",\n \"url\": \"http://a12cfa748e3798590a15.b0.upaiyun.com/apicloud/7abb650ab1ac16a4a30e56174271d297.png\",\n \"AppVer\": \"新版本\",\n \"createdAt\": \"2016-03-02T02:30:35.922Z\",\n \"updatedAt\": \"2016-03-02T02:30:44.738Z\"\n }\n ]\n]"
程序里调试用放大镜看的是对的。
反序列化: List<AppVer_Download> fd = JsonConvert.DeserializeObject<List<AppVer_Download>>(ds);
实体类:
public class AppVer_Download
{
//public Apper_Download[] Apper_Download;
public AppVer_Download()
{
}
public string id { get; set; }
public string url { get; set; }
public string AppVer { get; set; }
public DateTime createdAt { get; set; }
public DateTime updatedAt { get; set; }
}
如果实例化定义:
//public static T GetObjFromJson<T>(string strJson)
//{
// T obj = Activator.CreateInstance<T>();
// using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson)))
// {
// DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(obj.GetType());
// return (T)jsonSerializer.ReadObject(ms);
// }
//}
报错:
“Newtonsoft.Json.JsonSerializationException”类型的未经处理的异常在 Newtonsoft.Json.dll 中发生
其他信息: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'Textd.AppVer_Download' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
求大神赐教!!!!!在线等待
把前[\n [\n后\n ]\n]先删除在反序列化
删了,一样var p = ds.Replace("\n", "");
@青龙游天: 是[[]]中括号去掉……,你删\n做什么
@青龙游天: string str=你得到的json;
str=str.subString(1,str.length-3);
然后反序列化str,你试下
@lb1208: subString没这个属性,返回的字符串没
@青龙游天:
string str=你得到的json;
str=str.Substring(1,str.length-3);
然后反序列化str,你试下
@lb1208: 返回的json字符串点不出来subString这个属性
@青龙游天:是Substring,我改了,不要这么较真
@lb1208: 我知道这是截取字符串的,点不出来,再说那个是数组类型JSON字符串
@lb1208: 可以点出来,电脑卡了。。。我刚才也纳闷呢
@青龙游天:最后回答一次,1.截掉中括号,2.看自己建的模型是不是符合!!
@lb1208: 嗯嗯,谢了,得到值了,我要同步到SQLITE库里面
@lb1208: 治标不治本啊,换个表到数据那个地方还是不行同样的错
@青龙游天: 1.多中括号的话,需要截掉中括号,2.看自己建的模型是不是符合!!
@lb1208: 嗯嗯,就是中括号问题,已经解决了,非常感谢你。都可以随便导出数据了。