反序列化 Json 对象
Deserializing a Json object
嗨,我在反序列化方面遇到了一些问题 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但我不知道如何加载到'fields'
的这个class数组
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);
希望对您有所帮助。
嗨,我在反序列化方面遇到了一些问题 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但我不知道如何加载到'fields'
的这个class数组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);
希望对您有所帮助。