it-roy-ru.com

Преобразовать строку JSON в объект JSON c #

У меня есть эта строка хранится в моей базе данных:

str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }"

Эта строка уже в формате JSON, но я хочу преобразовать ее в объект JObject или JSON.

JObject json = new JObject();

Я попробовал json = (JObject)str; приведение, но оно не сработало, так как я могу это сделать?

100
caj

JObject определяет метод Parse для этого:

JObject json = JObject.Parse(str);

Возможно, вы захотите обратиться к Json.NET документация .

200
Andrei

если вы не хотите или нуждаетесь в типизированном объекте, попробуйте:

using Newtonsoft.Json;
// ...   
dynamic json  = JsonConvert.DeserializeObject(str);

или попробуйте для типизированного объекта попробуйте:

Foo json  = JsonConvert.DeserializeObject<Foo>(str)
32
Kieran

Это работает

    string str = "{ 'context_name': { 'lower_bound': 'value', 'pper_bound': 'value', 'values': [ 'value1', 'valueN' ] } }";
    JavaScriptSerializer j = new JavaScriptSerializer();
    object a = j.Deserialize(str, typeof(object));
18
Karthik Ganesan

есть интересный способ достичь другой цели, которая заключается в том, чтобы иметь основанную на типе json базу классов с очень мощными инструментами, которые я впервые использовал несколько дней назад, чтобы перевести результат tradedoubler json в классы

Это простой инструмент: скопируйте исходную пасту json и через несколько секунд у вас будет строго типизированный класс, ориентированный на json . Таким образом вы будете использовать эти классы, которые являются более мощными и простыми в использовании.

Я надеюсь, что это может помочь вам

7
makemoney2010

Вы можете попробовать как следующее:

string output = JsonConvert.SerializeObject(jsonStr);
2
B.Mohamed Riyas

Это работает для меня, используя JsonConvert

var result = JsonConvert.DeserializeObject<Class>(responseString);
0
HamidKhan

Это не работает в случае JObject, это работает для простых данных формата json. Я пытался десериализовать данные в указанном ниже формате JSON, но не получил ответ.

Для этого Джсон 

{
  "Customer": {
    "id": "Shell",
    "Installations": [
      {
        "id": "Shell.Bangalore",
        "Stations": [
          {
            "id": "Shell.Bangalore.BTM",
            "Pumps": [
              {
                "id": "Shell.Bangalore.BTM.pump1"
              },
              {
                "id": "Shell.Bangalore.BTM.pump2"
              },
              {
                "id": "Shell.Bangalore.BTM.pump3"
              }
            ]
          },
          {
            "id": "Shell.Bangalore.Madiwala",
            "Pumps": [
              {
                "id": "Shell.Bangalore.Madiwala.pump4"
              },
              {
                "id": "Shell.Bangalore.Madiwala.pump5"
              }
            ]
          }
        ]
      }
    ]
  }
}
0
Rahul Shukla