В настоящее время я пытаюсь проанализировать данные пользователя в этой форме:
{
"id": "0",
"name": "Tristan Paul",
"location": {
"country": "USA",
"city": "District of Columbia"
},
"job": {
"industry": "Tech",
"sector": "Tech"
},
"experience": 2,
"frequency": 2,
"interests": [
"Social Media",
"Millenials",
"Change Management"
],
"role": "Mentor",
"age": 34
}
Я хочу разобрать их в Dictionary<string, object>
, что я сделал с JObject.Parse(json)
и object.ToObject<Dictionary<string, object>>()
.При тестировании типов каждого из значений в этом словаре он выводит следующую распечатку.
System.String
System.String
Newtonsoft.Json.Linq.JObject
Newtonsoft.Json.Linq.JObject
System.Int64
System.Int64
Newtonsoft.Json.Linq.JArray
System.String
System.Int64
Что я хочу знать, есть ли способ указать, как Newtonsoft.Json.Linq.JObject
и Newtonsoft.Json.Linq.JArray
также конвертируются?Или мне нужно перебрать каждое значение и сделать .ToObject<T>()
для них?
Спасибо!
Редактировать : Я сейчас пытаюсь Deserialize
Json
до Person
объекта.Properties
этого Person
объекта выглядит следующим образом.
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("role")]
public string Role { get; set; }
[JsonExtensionData]
public Dictionary<string, object> Properties { get; set; }
Я ищу способ использования JsonConverter
или ContractResolver
для определения того, как будет добавлено каждое из этих дополнительных свойств.,То же, что и проблема выше для исходных данных и попыток перехватить эти JObjects
и JArrays
и преобразовать их в другой тип.
Я не могу найти способ сделать это с JsonConverter
, ячего-то не хватает?
Я хочу преобразовать JArray
в String[]
и JObjects
в Dictionary
.
System.String
System.String
Newtonsoft.Json.Linq.JObject => System.Dictionary<string, string>
Newtonsoft.Json.Linq.JObject => System.Dictionary<string, string>
System.Int64
System.Int64
Newtonsoft.Json.Linq.JArray => System.String[]
System.String
System.Int64