Преобразование форматированной строки JSON в объект JsonObject с помощью Jayrock
У меня есть параметр запроса в моем приложении ASP.NET. то есть в формате JSON, и мне было интересно, есть ли хороший (быстрый и простой) способ преобразования строки JSON в JsonObject Jayrocks, чтобы я мог легко извлекать пары ключ-значение без необходимости разбора строки вручную?
2 ответа
Если предположить, json
переменная, содержащая текст JSON, используйте Jayrock.Json.Conversion.JsonConvert.Import(json)
, В ответ вы получите либо JsonObject
, JsonArray
, JsonNumber
, System.String
, System.Boolean
или пустая ссылка в зависимости от корневого значения JSON в исходном тексте JSON. Если вы точно знаете, что это будет объект JSON, тогда вы можете безопасно привести приведенное значение или использовать JsonConvert.Import<JsonObject>(json)
,
Я бы не хотел работать против JsonObject
напрямую, если только вы не зависите от одной из его особенностей. Вы должны просто притвориться, что возвращаемый вами объект JSON - это словарь; или IDictionary
или же IDictionary<string, object>
, В последней версии.NET Framework 4 вы также можете работать с JsonObject
как динамический объект.
Я не знаю Jayrock, но если вы хотите принять объект JSON в качестве параметра Action в MVC2, то самый простой способ сделать это - использовать JsonValueProviderFactory из сборки Futures.
Это часть System.Web.Mvc в MVC3.