[C#] JSON 문자열을 JSON 객체로 변환 C #

이 문자열을 데이터베이스에 저장했습니다.

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

이 문자열은 이미 JSON 형식이지만 JObject 또는 JSON Object로 변환하고 싶습니다.

JObject json = new JObject();

나는 json = (JObject)str;캐스트를 시도했지만 작동하지 않아 어떻게 할 수 있습니까?



답변

JObject이에 Parse대한 방법 을 정의 합니다.

JObject json = JObject.Parse(str);

Json.NET 문서 를 참조 할 수 있습니다 .


답변

유형이 지정된 개체가 필요하지 않거나 필요하지 않은 경우 다음을 시도하십시오.

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

또는 입력 된 객체를 사용해보십시오.

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


답변

이 작동합니다

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


답변

tradedoubler json 결과를 클래스로 변환하기 위해 며칠 전에 사용했던 매우 강력한 도구를 사용하여 json에 강력한 유형 클래스 기반을 두는 것이 또 다른 목표를 달성하는 흥미로운 방법이 있습니다

간단한 도구입니다 : json 소스 페이스트를 복사 하면 몇 초 안에 강력한 json 지향 클래스가 생깁니다 . 이런 식으로보다 강력하고 사용하기 쉬운 클래스를 사용하게됩니다.

나는 그것이 당신을 도울 수 있기를 바랍니다


답변

다음과 같이 시도해 볼 수 있습니다.

string output = JsonConvert.SerializeObject(jsonStr);


답변

이것은 나를 사용하여 작동합니다. JsonConvert

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


답변

JObject의 경우 작동하지 않습니다. 이것은 간단한 json 형식 데이터에서 작동합니다. 아래 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"
              }
            ]
          }
        ]
      }
    ]
  }
}