Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 用方括号反序列化Json对象_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 用方括号反序列化Json对象

Asp.net mvc 用方括号反序列化Json对象,asp.net-mvc,Asp.net Mvc,我试图反序列化json对象,但出现错误。谁能帮帮我吗。这是一个例子 [ { "heading": "some data", "company name":"some data", "href":"link" }, { "heading": "some data", "company name":"some data", "href":"link" }, { "heading": "some data", "company name":"some data

我试图反序列化json对象,但出现错误。谁能帮帮我吗。这是一个例子

[
 {
  "heading": "some data",
  "company name":"some data",
  "href":"link"
 },
 {
  "heading": "some data",
  "company name":"some data",
  "href":"link"
 },
 {
  "heading": "some data",
  "company name":"some data",
  "href":"link"
 }
]
下面是我如何尝试反序列化对象。提到的json数据来自api,位于Class1(公共类Class1)下的模型内

内部控制器

 ParentObject a=JsonConvert.DeserializeObject<Class1>(responseData);
ParentObject a=JsonConvert.DeserializeObject(responseData);
我得到的错误是无法反序列化当前Json数组,因为该类型需要Json对象。。。。。。
这将非常有帮助

发送的数据是一个数组。当使用许多在线实用程序中的一个进行解析时,封闭的模型看起来是这样的

public class Model : ParentObject {
    public string heading { get; set; }
    [JsonProperty("company name")] //<-- needed because of the space in the property name
    public string companyname { get; set; }
    public string href { get; set; }
}
公共类模型:ParentObject{
公共字符串标题{get;set;}

[JsonProperty(“公司名称”)]//由于错误指定了一个JSON对象,请尝试将其更改为一个对象。只需将其包装在
{…}
中并给它一个键即可。例如,
{“值”:[{…},{…},{…},{…}]}
。数组本身应该是格式良好的JSON,但您的解析器可能需要一个对象。哦,等等,不,它可能只是在尾随逗号上失败了。如果您想验证某个内容是否为有效的JSON,您可以尝试将JSON粘贴到中。JSON的响应来自第三方api,因此我无法控制它。好的,您必须处理它,因为他们没有向您发送有效的JSON。这是假设您的代码确实是他们正在发送的。如果错误始终一致,您可以在发送到解析器之前编辑字符串。或者您可以告诉第三方API修复其JSON。我在jsonlint.com中检查了这是否有效,是否已修复json反序列化错误,但有另一个错误。由于我使用的是ParentObject,视图将查找ParentObject并抛出错误。传递到字典中的模型项的类型为[]但需要ParentObject。然后更改模型以适合您的类,并更新视图以期望有一个集合(如果您需要),否则从数组中提取一个集合并返回该集合,以执行ParentObject模型[]a=JsonConvert.DeserializeObject(responseDate)之类的操作;此视图也正在呈现其他数据,工作正常(并且与ParentObject一起),但此部分作为数组响应,因此我遇到了此问题。
public class Model : ParentObject {
    public string heading { get; set; }
    [JsonProperty("company name")] //<-- needed because of the space in the property name
    public string companyname { get; set; }
    public string href { get; set; }
}
Model[] a = JsonConvert.DeserializeObject<Model[]>(responseData);