Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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
C# 从Web API反序列化JSON_C#_Json_Deserialization_Wikipedia - Fatal编程技术网

C# 从Web API反序列化JSON

C# 从Web API反序列化JSON,c#,json,deserialization,wikipedia,C#,Json,Deserialization,Wikipedia,我有一个json格式的wikipedia api。我想做一个动态编码,在这个编码中,id号将在时间上偶然出现。我想从api中提取信息,以显示网页的简短描述。我从jsonTocSharp中稍微修改了json数据。但是在删除url之后,我没有得到任何输出。这是我的代码示例 namespace Json_deserialize { public class pageval { public int pageid { get; set; } public int ns { get;

我有一个json格式的wikipedia api。我想做一个动态编码,在这个编码中,id号将在时间上偶然出现。我想从api中提取信息,以显示网页的简短描述。我从jsonTocSharp中稍微修改了json数据。但是在删除url之后,我没有得到任何输出。这是我的代码示例

 namespace Json_deserialize
 {
  public class pageval
 {
   public int pageid { get; set; }
   public int ns { get; set; }
   public string title { get; set; }
   public string extract { get; set; }
  }


   public class Query
  {
    public Dictionary<string, pageval> pages { get; set; }
   }

   public class Limits
 {
    public int extracts { get; set; }
  }

  public class RootObject
 {
   public string batchcomplete { get; set; }
   public Query query { get; set; }
   public Limits limits { get; set; }
 }

class Short_text
{
  public static RichTextBox txt1 = new RichTextBox();
  public static void shortText()
  {
     using (WebClient wc = new WebClient())
     {
        var client = new WebClient();
        var response = client.DownloadString("https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exlimit=max&explaintext&exintro&titles=Neuschwanstein%20Castle&redirects="); ;

        pageval m = JsonConvert.DeserializeObject<pageval>(response);

        string result = m.extract;

        txt1.Text = result;
      }

    }

 }
名称空间Json\u反序列化
{
公共类pageval
{
public int pageid{get;set;}
公共整数ns{get;set;}
公共字符串标题{get;set;}
公共字符串提取{get;set;}
}
公共类查询
{
公共字典页{get;set;}
}
公共类限制
{
公共int提取{get;set;}
}
公共类根对象
{
公共字符串batchcomplete{get;set;}
公共查询查询{get;set;}
公共限制限制{get;set;}
}
类短文本
{
public static RichTextBox txt1=新的RichTextBox();
公共静态void shortText()
{
使用(WebClient wc=new WebClient())
{
var client=new WebClient();
var response=client.DownloadString(“https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exlimit=max&explaintext&exintro&titles=Neuschwanstein%20Castle&redirects="); ;
pageval m=JsonConvert.DeserializeObject(响应);
字符串结果=m.extract;
txt1.Text=结果;
}
}
}
而不是

   pageval m = JsonConvert.DeserializeObject<pageval>(response);
pageval m=JsonConvert.DeserializeObject(响应);
使用

rootobjectm=JsonConvert.DeserializeObject(响应);

您是否收到任何错误或异常?
页面
不能是符合Json的字典键和值如何。我的代码显示了键和值的错误。它显示-error“Json\u deserialize.Query”不包含“Keys”的定义,并且没有扩展方法“Keys”接受类型为“Json\u deseriali”的第一个参数找不到“ze.Query”,另一个错误是:当前@Anik 1991中不存在名称“values”。这是java版本,您可以为C执行此操作#
RootObject m = JsonConvert.DeserializeObject<RootObject>(response);