C# 当我不需要每个值时,如何反序列化JSON字符串? 脚本

C# 当我不需要每个值时,如何反序列化JSON字符串? 脚本,c#,json,C#,Json,我正在创建一个小的无状态API类型的东西,它从单个API中提取信息,只获取相关数据,获取数据并将其用作第二个API中的搜索词。从这里,我只想获取相关信息并将其返回给用户 问题 JSON在一个数组中返回许多值(其中大部分不是必需的),据我所知,我需要将字符串反序列化为单个对象,这样我就可以执行.Count以找出已返回的卡片数量 JSON字符串 JSON字符串很大,所以如果有人感兴趣,我就留下这个链接。 我正在寻找的价值观 名字 精灵 类型 艺术家 我已经试过了 var obj = JsonC

我正在创建一个小的无状态API类型的东西,它从单个API中提取信息,只获取相关数据,获取数据并将其用作第二个API中的搜索词。从这里,我只想获取相关信息并将其返回给用户

问题 JSON在一个数组中返回许多值(其中大部分不是必需的),据我所知,我需要将字符串反序列化为单个对象,这样我就可以执行
.Count
以找出已返回的卡片数量

JSON字符串 JSON字符串很大,所以如果有人感兴趣,我就留下这个链接。

我正在寻找的价值观
  • 名字
  • 精灵
  • 类型
  • 艺术家
我已经试过了

var obj = JsonConvert.DeserializeObject<PokemonTCGApi>(data); 

List<PokemonTCGApi> obj = JsonConvert.DeserializeObject<List<PokemonTCGApi>>(data);

PokemonTCGApi[] objList = new JavaScriptSerializer().Deserialize<Order[]>(orderJson);

var obj = JsonConvert.DeserializeObject(data);

List<JSONClass.Card> list = JsonConvert.DeserializeObject<List<JSONClass.Card>>(data);



您可以反序列化到列表,并从中仅获取相关位

var myData = JsonConvert.DeserializeObject<List<ExpandoObject>>(jsonString);
var myData=JsonConvert.DeserializeObject(jsonString);

若您不需要json字符串中的每个值,那个么就向类对象创建您需要的反序列化响应,并这样做

 var data = JsonConvert.DeserializeObject<List<EmployeeViewModel>>(json_array_string);

var data1 = JsonConvert.DeserializeObject<EmployeeViewModel>(json_string);
var data=JsonConvert.DeserializeObject(json_数组_字符串);
var data1=JsonConvert.DeserializeObject(json_字符串);

您能在问题中也包括模型(PokemonTCGApi等)吗?我使用quickType和JSONtoC使用了一个值,但是这个类太大了,我现在就编辑原始模型。Json.NET不需要所有属性来反序列化Json字符串。您只需接收响应(可能类似于json字符串),并将其反序列化为类似于
List=JsonConvert.DeserializeObject(数据)的内容
其中
data
是json字符串,那么流读取呢?您不必反序列化所有属性。将忽略类声明中所有省略的属性。或者只选择您需要的标记ExpandooObject,就是我的4变量类?如果是这样,我仍然会得到相同的错误。System.AggregateException:'发生了一个或多个错误。(无法将当前JSON对象(例如,{“名称”:“值”})反序列化为'System.Collections.Generic.List`1[PokeAppMVC.Models.PokemonTCGApi]”类型,因为该类型需要JSON数组(例如[1,2,3])才能正确反序列化。您需要迭代
myData
并自行构建
列表。
 var data = JsonConvert.DeserializeObject<List<EmployeeViewModel>>(json_array_string);

var data1 = JsonConvert.DeserializeObject<EmployeeViewModel>(json_string);