Извлечь значения из JObject
Я пытаюсь извлечь некоторые значения из Json, но у меня проблемы с данными между []
{
attrib1: ""es-BO"",
attrib2: 2,
Segment: [
{
inAttrib1: ""value1"",
inAttrib2: ""value2"",
inAttrib3: ""value3""
}]
}
для первых значений, которые я использую:
string attrib1 = request.GetValue("attrib1").Value<string>();
.
.
.
но когда я пытаюсь сделать:
string inAttrib1 = request.GetValue("inAttrib1").Value<string>();
не работает... что я могу сделать?, или существует другой способ сделать тот же
Ответы
Ответ 1
Данные между (и включая) []
называются массивом. Прежде чем двигаться дальше, возможно, будет полезно посмотреть домашнюю страницу JSON, в частности, на различные доступные типы данных.
Вам нужно перейти вниз к массиву Segment
, затем получить первый элемент, а затем элемент inAttrib1
свойство:
string attrib1Value = request["Segment"][0]["inAttrib1"].Value<string>();
Или, альтернативно:
string attrib1Value = request.SelectToken(@"Segment[0].inAttrib1").Value<string>()