У меня есть контроллер веб-API в .NET Core 2.1, который получает
JToken jsonBody
JSON имеет следующую структуру
{
"id": "xxx",
"payload": {
"TelephoneNumber": "1111",
"Name": "Hans"
}
}
и более полей, но это не имеет значения.
Я хочу получить номер и имя элегантно. В настоящее время я делаю следующее, что, я уверен, могло бы быть сделано лучше:
var payload = JObject.Parse(jsonBody.SelectToken("Payload").ToString());
telephoneNumber = new TelephoneNumber(payload.SelectToken("TelephoneNumber").ToString());
Я пытался просто сделать
jsonBody.SelectToken("Payload.TelephoneNumber")
но это не работает. Я думаю, это потому, что каким-то образом jsonBody, который получает контроллер, проанализировал только верхние узлы как json, поэтому может случиться так, что он учитывает значение
jsonBody.SelectToken("Payload")
в виде строки.