【发布时间】:2016-07-27 19:04:48
【问题描述】:
我有以下课程
using System;
public class AppEventsClass
{
public string title { get; set; }
public string description { get; set; }
}
调用远程网络服务后,我检索以下 json 字符串:
{"d":"[title\":\"test\",\"description\":\"test desc\"},{\"title\":\"test2\",\"description\":\"desc test 2\"}]"}
检索该 json 字符串后,如何使用 Newtonsoft 转换 AppEventsClass 的 List 中的字符串?
我尝试了几种解决方案,但没有一个对我有用。 例如这个:
List<AppEventsClass> result = new List<AppEventsClass>();
result = JsonConvert.DeserializeObject<List<AppEventsClass>>(content).ToList();
这是序列化字符串的 .asmx:
[ScriptMethod(UseHttpGet = true)]
public string GetEvents()
{
using (mySQLDataContext ctx = new secondosensoSQLDataContext())
{
List<eventi> eventiList = ctx.eventi.ToList();
List<AppEventsClass> eventiClassList = new List<AppEventsClass>();
for (int i = 0; i < eventiList.Count; i++)
{
AppEventsClass a = new AppEventsClass();
a.title = eventiList[i].titlolo_evento;
a.description = eventiList[i].descrizione_evento;
eventiClassList.Add(a);
}
var json = JsonConvert.SerializeObject(eventiClassList);
return json;
}
}
【问题讨论】:
-
请添加您尝试过的一些内容,以便我们帮助解决这些问题(因为对象列表的一般反序列化 json 字符串,今天才有其他一些)
-
到目前为止您尝试了哪些解决方案?
-
您的 JSON 格式与您的预期结构不匹配。如果你仔细看,你会发现它只是一个包含另一个对象结构的字符串的 d 属性。您需要考虑 json 是如何被序列化的,以及您打算如何将其解析。从您的问题中看不出这些。
-
感谢您的回复,我将编辑问题并发布我如何序列化对象。
-
你是对的@DavidL,他的 json 格式带有 d:
标签: c# json web-services serialization deserialization