反序列化 Json 对象
本文关键字:对象 Json 反序列化 | 更新日期: 2023-09-27 18:35:59
嗨,我在取消 JSON 时遇到了一点问题。
这是我从 API 获得的 json
"{'"status'":'"ok'",'"categories'":
[{'"id'":1,'"name'":'"Name'",'"number'":0,'"clientsCount'":32,'"fields'":
['"name'",'"surname'",'"tel'",'"post'",'"country'"],'"subcategories'":[{'"id'":2,'"name'":'"Got'",'"number'":1},{'"id'":13,'"name'":'"Hipoteka'",'"number'":2},
{'"id'":14,'"name'":'"Samochodowych'",'"number'":4}]},
{'"id'":2,'"name'":'"Name'",'"number'":1,'"clientsCount'":12,'"fields'":
['"name'",'"nazwisko'",'"tel'",'"car'",'"car_model'"],'"subcategories'":[]}]}"
这就是它在 PHP 中的样子
array(
'id' => 1,
'name' => 'Name',
'number' => 0,
'clientsCount' => 32,
'fields' => array(
'name',
'surname',
'tel',
'post',
'country'
),
'subcategories' => array(
array(
'id' => 2,
'name' => 'Gotówkowy',
'number' => 1
),
array(
'id' => 13,
'name' => 'Hipoteka',
'number' => 2
),
array(
'id' => 14,
'name' => 'Samochodowych',
'number' => 4
),
),
),
array(
'id' => 2,
'name' => 'Name',
'number' => 1,
'clientsCount' => 12,
'fields' => array(
'name',
'surname',
'tel',
'car',
'car_model'
),
'subcategories' => array(),
),
我不知道如何转换它。我不需要这个 JSON 字段的子类别,但其他子类别对我来说非常重要。
我已经准备了一些类,但我不知道如何将"字段"数组加载到此类中
class Kategorie
{
public int id { get; set; }
public string name { get; set; }
public int number { get; set; }
public int clientsCount { get; set; }
}
下面是基于您发布的 Json 的示例:
//Created MyObject to resemble the JSON object graph for easy deserialization
class MyObject
{
public string Status { get; set; }
public Category[] Categories { get; set; }
//Similar to categories, You can create properties for fields, subcategories etc., as needed.
}
class Category
{
public int id { get; set; }
public string name { get; set; }
public int number { get; set; }
public int clientsCount { get; set; }
}
反序列化代码:(使用 Newtonsoft.Json)
var myObject = JsonConvert.DeserializeObject<MyObject>(jsonString);
希望这有帮助。