先定义对应的JSON对象,把原始JSON反序列化(这里使用的是Newtonsoft.Json
组件)成集合。
再使用LINQ从上一步得到的集合中查询,示例代码如下:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp1
{
public class Program
{
public static void Main(string[] args)
{
// [{"_id":{"id":1},"value":{"Money":1000.0,"Type":2.0}},{"_id":{"id":2},"value":{"Money":1000.0,"Type":2.0}},{"_id":{"id":3},"value":{"Money":1000.0,"Type":2.0}}]
// 其中1.json为以上的JSON字符串
var json = System.IO.File.ReadAllText(@"D:\1.json");
var list = JsonConvert.DeserializeObject<List<Root>>(json);
var result = list.Select(x => new Target
{
Id = x._id.id,
Money = x.Value.Money,
Type = x.Value.Type
});
Console.WriteLine(JsonConvert.SerializeObject(result));
Console.ReadKey();
}
}
public class Id
{
public int id { get; set; }
}
public class Value
{
public double Money { get; set; }
public double Type { get; set; }
}
public class Root
{
public Id _id { get; set; }
public Value Value { get; set; }
}
public class Target
{
public int Id { get; set; }
public double Money { get; set; }
public double Type { get; set; }
}
}
运行结果如下:
[{"Id":1,"Money":1000.0,"Type":2.0},{"Id":2,"Money":1000.0,"Type":2.0},{"Id":3,"Money":1000.0,"Type":2.0}]
你也可以关注[码友网]--一个专注C#/.NET/.NET Core开发的编程爱好者社区。
专注C#,.NET Core,.NET 5,.NET 6开发技术的.NET社区&.NET论坛 | 码友网
.NET 5,.NET 6,C#/.NET,ASP.NET Core编程基础入门教程,C#自学去哪里?.NET编程基础入门,.NET编程自学去哪里?学习.NET编程,学习C#编程有哪些教程和资源,.NET|.NET Core|ASP.NET Core 学习资源网站,专注C#开发,.NET开发,ASP.NET,SQL SERVER,MYSQL,Entity Framework,WINFORM,多线程,HTML,CSS,JAVASCRIPT,Bootstrap,Angularjs,jQuery,后台模板,组件等程序开发资源,C#新手/初学者/工程师的进阶之路
https://codedefault.com/