programing

JSON 문자열을 오브젝트로 해석하는 가장 간단한 C# 함수는 무엇입니까?

randomtip 2023. 4. 1. 15:27
반응형

JSON 문자열을 오브젝트로 해석하는 가장 간단한 C# 함수는 무엇입니까?

JSON 문자열을 객체로 해석하여 표시하는 가장 간단한 C# 함수는 무엇입니까(C# XAML WPF). (예를 들어 arrA와 arrB의 2개의 어레이를 가진 객체)

그냥 Json을 사용해.NET 라이브러리Json 형식 문자열을 매우 쉽게 구문 분석할 수 있습니다.

JObject o = JObject.Parse(@"
{
    ""something"":""value"",
    ""jagged"":
    {
        ""someother"":""value2""
    }
}");

string something = (string)o["something"];

문서: JObject를 사용한JSON 오브젝트 해석해석

DataContractJsonSerializer serializer = 
    new DataContractJsonSerializer(typeof(YourObjectType));

YourObjectType yourObject = (YourObjectType)serializer.ReadObject(jsonStream);

또,JavaScriptSerializer,그렇지만DataContractJsonSerializer복잡한 타입을 다룰 수 있다고 생각됩니다.

이상하게도 JavaScriptSerializer는 한 때(3.5에서) 폐지되었다가 ASP 때문에 부활했다.NET MVC(3.5 SP1).그 정도면 확실히 자신감을 흔들어서DataContractJsonSerializerWCF용 하드 베이킹이기 때문입니다.

이게 네가 원하는 거야

JavaScriptSerializer JSS = new JavaScriptSerializer();
T obj = JSS.Deserialize<T>(String);

JSON 키를 나타내는 구조체를 작성해야 합니다(정확히 알고 있는 경우).이 구조체에 JSON 문자열을 쉽게 역직렬화할 수 있습니다.내 시험에서는 Google 클라우드 메시지 서버의 응답을 역직렬화했습니다.

class templateResponse
{
    public String multicast_id;
    public String success;
    public String failure;
    public String canonical_ids;
    public Result[] results;

    public class Result
    {
        public String message_id;
        public String registration_id;
        public String error;
    };
}

착신 JSON:

"\"multicast_id\":7400896764380883211,\"success\":1,\"failure\":0,\"canonical_ids\":0,\"results\":[{\"message_id\":\"0:1351777805148960%39895cf0f9fd7ecd\"}]}"

그럼, 을 사용해 주세요.

templateResponse result = new JavaScriptSerializer().Deserialize<templateResponse>(json);

그러면 당신은 탈직렬화 될 것이다.result물건

나는 Json을 울릴 것이다.NET 라이브러리: JSON 응답을 XML 문서로 변환할 수 있습니다.XML 문서를 사용하면 XPath에 쉽게 문의하고 필요한 데이터를 추출할 수 있습니다.이게 꽤 유용하다고 생각해요.

언급URL : https://stackoverflow.com/questions/2859753/what-is-the-simplest-c-sharp-function-to-parse-a-json-string-into-an-object

반응형