您好我无法反序列化我的JSON对象并在DataSet中显示。
我已经取得了部分成功,因为除了嵌套数组中包含的数据外,我显示的大部分数据都是如此。
我所做的是将数据反序列化为通用列表,然后从该列表将其转换为数据集,我将插入到数据库中。我正在使用JSON.net,更具体地说是JsonConvert类来反序列化字符串,然后使用帮助器类将其转换为数据集,我从这里偷走并修改了From Here。现在这很有效,直到我点击嵌套数组。
在第一个数组中,我可以看到XML中返回的数据,但它没有出现在返回的数据集中,而另一个数组根本就没有在请求中显示。
我正在处理第一个数组,如下所示:
public List<string> Categories { get; set; }
这是json2csharp的内容,它部分起作用,我可以看到类别选项会根据我选择的数量而变化。例如,如果我选择4,它将返回4,但行将为空。
点击“类别”后,它会显示这4行。
关于如何解决这个问题的任何想法?
我的第二个阵列根本没有被请求或返回。我创建了一个单独的类来处理如下的元素:
public class EventDate { public DateTime EndDate { get; set; } public DateTime StartDate { get; set; } }
并使用它来调用它:
public List EventDates {get;组; }
这会产生错误列需要有效的数据类型
我见过一些例子,说你必须使用自定义转换器反序列化这些,而其他人说你应该像我上面那样做。以上格式符合json2charp网站。
我尝试将类别作为字符串数组进行访问,但出现了同样的问题,我可以在XML中看到返回的数据,但不会在数据集中看到。
下面我已经包含了使用Jsonconvert类反序列化jsonstring的deserializejson类。
public List<RootObject> DeSerializeJsonString(string jsonString) { List<RootObject> list = new List<RootObject>(); list = (List<RootObject>)JsonConvert.DeserializeObject<List<RootObject>>(jsonString); return list; }
任何帮助都会非常感激,欢呼。