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