Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.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/4/json/14.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# 为什么这些变量字段在json解析任务中会自动变为空值。_C#_Json_Parsing_Null - Fatal编程技术网

C# 为什么这些变量字段在json解析任务中会自动变为空值。

C# 为什么这些变量字段在json解析任务中会自动变为空值。,c#,json,parsing,null,C#,Json,Parsing,Null,我的目标是从这个url中的json数据中获取数据值: 我将json数据放入名为SoMedata的对象中,并尝试创建循环来解析数据并写出json数据的ceratin部分 在第二个循环中,每当我从field中的一个字段赋值或将field中的一个字段值与值进行比较时,field变量的字段总是立即变为Null 我该怎么解决这个问题?这可能与字段是数组和SoMedata是对象有关 using altinget.code; using System; using System.Web.UI; using

我的目标是从这个url中的json数据中获取数据值:

我将json数据放入名为SoMedata的对象中,并尝试创建循环来解析数据并写出json数据的ceratin部分

在第二个循环中,每当我从field中的一个字段赋值或将field中的一个字段值与值进行比较时,field变量的字段总是立即变为Null

我该怎么解决这个问题?这可能与字段是数组和SoMedata是对象有关

using altinget.code;
using System;
using System.Web.UI;
using Altinget.Extensions;
using Newtonsoft.Json;
using System.Net;



namespace Altinget7.Controls
{
public partial class SoMeDebateBox : BaseControl
{
   public string titleTooltip = "Ukendt indtil videre";
   public static string link = "http://someeu.altinget.dk/json.php?q=0&d=24&s=0&src=fb&g=1&l=200";
   public string title = "Skal hentes fra resourcer";



   protected void Page_Load(object sender, EventArgs e)
   {
       //SoMetextOut.Text = "<link rel = \"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css\">";
       Page.Trace.Write("Render Time", "DebateBox Start");
       var web = new WebClient();
       var output = web.DownloadString(link);
       dynamic SoMedata = JsonConvert.DeserializeObject<dynamic>(output);        
       dynamic contentData;
       dynamic checkvar;         
       SoMetextOut.Text = " <h3> Danske EU - parlamentarikere på Facebook</h3>";
       foreach (var item in SoMedata)
       {             
            if (item.Name == "content")
           {                 
                contentData = item.First;
               foreach (var field in contentData)
               {
                    checkvar = contentData.First;
                    checkvar = field;
                    checkvar = field.First;
                    if (field.First.Name == "author_full_name")
                   {
                       SoMetextOut.Text += " field.value";
                   }
               }

               SoMetextOut.Text += "<li>" + SoMedata.status.ToString() + "</li>";
           }
       }

       SoMetextOut.Text = " <h3> Danske EU - parlamentarikere på Facebook</h3>";
       SoMetextOut.Text += " <h6>Indlæg fra de seneste 24 timer sorteret efter flest interaktioner</h6>";
       SoMetextOut.Text += "<div class=\"card mt-1 w-100\" style=\"background-color:#FFFFFF;box-shadow: 0px 4px 8px 0px rgba(0.75,0.75,0.75,0.75)\">";  //background-color:#d7bde2;
       SoMetextOut.Text += "<div class=\"card-block\" style=\"padding: 10px 10px 10px 10px\">";
       SoMetextOut.Text += "<ul>";
       SoMetextOut.Text += "<li>" + SoMedata.status.ToString() + "</li>";
       SoMetextOut.Text += "<li>" + SoMedata.template.ToString() + "</li>";
       SoMetextOut.Text += "<li>" + SoMedata.id.ToString() + "</li>";
       SoMetextOut.Text += "<li>" + SoMedata.title.ToString() + "</li>";
       SoMetextOut.Text += "</ul> </div> </div>";
        //lit.Text = String.Format("<div class=""{1}"">{0}</div>", InnerText, CssClass)
        // Newtonsoft.Json.Linq.JProperty jProperty = new Newtonsoft.Json.Linq.JProperty(field);
    }
}
使用altinget.code;
使用制度;
使用System.Web.UI;
使用Altinget.Extensions;
使用Newtonsoft.Json;
Net系统;
命名空间Altinget7.Controls
{
公共部分类SoMeDebateBox:BaseControl
{
公共字符串titleTooltip=“Ukendt indtil videre”;
公共静态字符串链接=”http://someeu.altinget.dk/json.php?q=0&d=24&s=0&src=fb&g=1&l=200";
公共字符串title=“Skal hentes fra resourcer”;
受保护的无效页面加载(对象发送方、事件参数e)
{
//SoMetextOut.Text=”“;
Page.Trace.Write(“呈现时间”,“DebateBox开始”);
var web=新的WebClient();
var输出=web.DownloadString(link);
dynamic SoMedata=JsonConvert.DeserializeObject(输出);
动态内容数据;
动态检验var;
Text=“Danske EU-parlamentarikere påFacebook”;
foreach(SoMedata中的变量项)
{             
如果(item.Name==“content”)
{                 
contentData=项。首先;
foreach(contentData中的var字段)
{
checkvar=contentData.First;
checkvar=字段;
checkvar=field.First;
if(field.First.Name==“作者全名”)
{
SoMetextOut.Text+=“field.value”;
}
}
SoMetextOut.Text+=“
  • ”+SoMedata.status.ToString()+”
  • ”; } } Text=“Danske EU-parlamentarikere påFacebook”; SoMetextOut.Text+=“Indlæg fra de SENSETE 24定时器排序器efter flest INTERACTIONER”; SoMetextOut.Text+=“”//背景色:#d7bde2; SoMetextOut.Text+=“”; SoMetextOut.Text+=“
      ”; SoMetextOut.Text+=“
    • ”+SoMedata.status.ToString()+”
    • ”; SoMetextOut.Text+=“
    • ”+SoMedata.template.ToString()+”
    • ”; SoMetextOut.Text+=“
    • ”+SoMedata.id.ToString()+”
    • ”; SoMetextOut.Text+=“
    • ”+SoMedata.title.ToString()+”
    • ”; SoMetextOut.Text+=“
    ”; //lit.Text=String.Format(“{0}”,InnerText,CssClass) //Newtonsoft.Json.Linq.JProperty JProperty=new Newtonsoft.Json.Linq.JProperty(字段); } }

    }

    您可以根据以下内容编写代码:

    var data = JObject.Parse(json);
    
    var status = (string)data["status"];
    // ...
    
    foreach(var content in data["content"])
    {
        var fullname = (string)content["author_full_name"];
        // ...
    }
    

    你到底想从json中读什么?从这个url中:我想读:“标题”、“副标题”、“作者全名”、“帖子消息”和“帖子链接”。我已经这么做了。问题是我得到了一个包含属性变量的对象,这使得它更加复杂。