将JSON对象A转换为JSON B对象,其中B是A的严格子集.两者都由两个json模式控制.在.net核心

Gre*_*icz 1 c# json jsonschema .net-core

我得到了一堆转换,以便将JSON数据结构从超集转换为子集.EX:

A : 
{
  Name {
    first: bob
    middle: john
    last : bobster    
  }
}

B : 
{
  Name {
    first: bob
    last : bobster    
  }
}
Run Code Online (Sandbox Code Playgroud)

两者都有一个json模式描述它们的结构,并且结构完全相同,是B只是缺少A的一些属性

有关将A映射到B的简单方法的任何想法(基本上剥离B中不存在的A属性)?我想知道是否有一些库或C#语言功能可以使这个微不足道.

使用C#和.NET Core.

Joy*_*Joy 5

为子集创建一个对象,如:

public class Name{
public string first{get;set;}
public string last {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

将json反序列化为子集对象:

var test = JsonConvert.DeserializeObject<Name>(superset);
Run Code Online (Sandbox Code Playgroud)

然后,如果需要,您可以使用它转换回json:

JsonConvert.SerializeObject(subset)
Run Code Online (Sandbox Code Playgroud)