У меня есть этот код для получения значений из строки json.JSON.NET - распознавание вложенного массива
var json = @"[{""property"":""Status"",""value"":""val""}]";
var jArray = JArray.Parse(json);
foreach (JToken jToken in jArray)
{
var property = jToken.Value<string>("property");
var value = jToken.Value<string>("value");
}
Это изделие идеально подходит для ввода данных. Но в некоторых ситуациях свойство value может содержать массив.
var json = @"[{""property"":""Status"",""value"":[1,2]}]";
Я хотел бы как-то проверить, содержит ли значение простое значение или массив. Если значение представляет собой массив, привяжите его к коллекции.
Возможно ли это используя JSON.net?
Это другой галс на нем, но я использую изменение кода здесь: http://stackoverflow.com/questions/3142495/deserialize-json-into-c-sharp-dynamic-object. Если вам это нравится, я отправлю свою версию кода (он исправляет некоторые ошибки, в том числе, я считаю, тот, который включает либо содержащиеся массивы, либо содержащиеся объекты. Не могу вспомнить, какой.) – Pete