Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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.net循环并存储Jobject对象_C#_Json_Json.net - Fatal编程技术网

C#,JSON.net循环并存储Jobject对象

C#,JSON.net循环并存储Jobject对象,c#,json,json.net,C#,Json,Json.net,C#和使用JSON都是新手。尝试使用以下格式从web API中生成一些JSON。希望循环并存储第二个用户id和状态,以供以后使用 { "user_list": [ { "user_id": "12345678910", "secondUser_id": "5428631729616515697", "member_since": "1521326679", "member_since_date": "2018-03-32",

C#和使用JSON都是新手。尝试使用以下格式从web API中生成一些JSON。希望循环并存储第二个用户id和状态,以供以后使用

{
  "user_list": [
    {
      "user_id": "12345678910",
      "secondUser_id": "5428631729616515697",
      "member_since": "1521326679",
      "member_since_date": "2018-03-32",
      "function": "test",
      "rank_int": "1",
      "status": "0"
    },
    {
      "user_id": "11345638910",
      "secondUser_id": "5428631729616515697",
      "member_since": "1521326679",
      "member_since_date": "2018-03-32",
      "function": "test",
      "rank_int": "1",
      "status": "0"
    },
    {
      "user_id": "13452578910",
      "secondUser_id": "12390478910",
      "member_since": "12316578910",
      "member_since_date": "2018-03-32",
      "function": "test",
      "rank_int": "1",
      "status": "0"
    }
  ],
  "returned": 3
}
string jsonUrl = GetJSON("url");
JObject UsersJObject = JObject.Parse(jsonUrl);
JToken user = UsersJObject["user_list"].First["secondUser_id"];

Console.WriteLine("User ID: " + user);

这将获得第一个条目,但我不确定枚举器使用什么?

尝试以下方法:

foreach (var obj in UsersJObject["user_list"] as JArray)
{
    Console.WriteLine(obj["secondUser_id"]);
}

您可以迭代JArray的元素,用户列表将属于该类型,将其强制转换,然后您可以在foreach循环中迭代它。

尝试以下操作:

foreach (var obj in UsersJObject["user_list"] as JArray)
{
    Console.WriteLine(obj["secondUser_id"]);
}

您可以迭代JArray的元素,用户列表将属于该类型,强制转换它,您可以在foreach循环中迭代它。

我建议您使用
JsonConvert.DeserializeObject

这可以帮助您轻松地使用对象

public class UserList
{
    public string user_id { get; set; }
    public string secondUser_id { get; set; }
    public string member_since { get; set; }
    public string member_since_date { get; set; }
    public string function { get; set; }
    public string rank_int { get; set; }
    public string status { get; set; }
}

public class JsonData
{
    public List<UserList> user_list { get; set; }
    public int returned { get; set; }
}
公共类用户列表
{
公共字符串用户_id{get;set;}
公共字符串secondUser_id{get;set;}
自{get;set;}起的公共字符串成员_
公共字符串成员\u自\u日期{get;set;}
公共字符串函数{get;set;}
公共字符串rank_int{get;set;}
公共字符串状态{get;set;}
}
公共类JsonData
{
公共列表用户_List{get;set;}
public int返回{get;set;}
}
像这样使用

string jsonUrl = GetJSON("url");

JsonData UsersJObject = JsonConvert.DeserializeObject<JsonData>(jsonUrl);

foreach (var obj in UsersJObject.user_list)
{
    Console.WriteLine(obj.secondUser_id);
}
string jsonUrl=GetJSON(“url”);
JsonData UsersJObject=JsonConvert.DeserializeObject(jsonUrl);
foreach(UsersJObject.user_列表中的var obj)
{
控制台写入线(对象第二用户id);
}

我建议您使用
JsonConvert.DeserializeObject

这可以帮助您轻松地使用对象

public class UserList
{
    public string user_id { get; set; }
    public string secondUser_id { get; set; }
    public string member_since { get; set; }
    public string member_since_date { get; set; }
    public string function { get; set; }
    public string rank_int { get; set; }
    public string status { get; set; }
}

public class JsonData
{
    public List<UserList> user_list { get; set; }
    public int returned { get; set; }
}
公共类用户列表
{
公共字符串用户_id{get;set;}
公共字符串secondUser_id{get;set;}
自{get;set;}起的公共字符串成员_
公共字符串成员\u自\u日期{get;set;}
公共字符串函数{get;set;}
公共字符串rank_int{get;set;}
公共字符串状态{get;set;}
}
公共类JsonData
{
公共列表用户_List{get;set;}
public int返回{get;set;}
}
像这样使用

string jsonUrl = GetJSON("url");

JsonData UsersJObject = JsonConvert.DeserializeObject<JsonData>(jsonUrl);

foreach (var obj in UsersJObject.user_list)
{
    Console.WriteLine(obj.secondUser_id);
}
string jsonUrl=GetJSON(“url”);
JsonData UsersJObject=JsonConvert.DeserializeObject(jsonUrl);
foreach(UsersJObject.user_列表中的var obj)
{
控制台写入线(对象第二用户id);
}

考虑反序列化Consider反序列化