欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C#不建类直接Json解析与取值

程序员文章站 2022-06-13 07:54:13
...

1、添加引用Newtonsoft.Json.dll(附件:https://files.cnblogs.com/files/chen-yuan/Newtonsoft.zip);
2、引用:

using Newtonsoft.Json.Linq;

3、具体代码:

string students = "{\"grade\":\"6\",\"class\":\"1\",\"students\":[{ \"id\":\"1\",\"name\":\"Lily\",\"sex\":\"女?\"},{\"id\":\"2\",\"name\":\"Jack\",\"sex\":\"男D\"},{\"id\":\"3\",\"name\":\"Lucy\",\"sex\":\"女?\"}]}";
JObject studentsJson = JObject.Parse(students);
//年级
string grade = studentsJson["grade"].ToString();
//获得第二个学生的姓名
string name1 = studentsJson["students"][1]["name"].ToString();  //Or
name1 = studentsJson["students"].AsEnumerable().ElementAt(1)["name"].ToString();
//遍历学生信息
var studentsList = studentsJson["students"].AsEnumerable();
foreach (var item in studentsList)
{
    string a = item["name"].ToString();
}
//获得学生Jack的信息和性别
var Jack = studentsJson["students"].AsEnumerable().Where(t => t.Value<string>("name") == "Jack");
string Jack_sex = Jack.FirstOrDefault()["sex"].ToString();
//获得女生的信息集合
var Girls = studentsJson["students"].AsEnumerable().Where(t => t.Value<string>("sex") == "女?");
相关标签: c# json