이름없이 다양한 유형의 JSON 매개 변수 목록을 직렬화하는 방법

TrevorB

다음 JSON이 포함 된 서버에 요청을 게시해야합니다. 다음과 같은 요청을 나타내는 클래스에 DataContractJsonSerializer 및 DataContract, DataMember 특성을 사용하고 싶습니다.

{"method":"mymethod","parameters":[10,"somestring"]}

이것은 RPC 호출을 나타냅니다.

mymethod(10,"somestring"). 

일부 API에서. API에는 매개 변수 목록이 다른 많은 호출이 있습니다.

매개 변수 목록에 generic을 사용할 수있는 T 유형의 객체가 포함되어 List<T>있지만 API에 다른 유형의 매개 변수 목록 (기본이 아닌 객체 포함)이 필요한 경우 이는 간단합니다 .

그렇다면 매개 변수 배열에 대한 DataContract를 어떻게 구성 할 수 있습니까?

TrevorB

고마워 루카스. 따라서 복잡한 유형을 포함하도록 질문을 약간 다시 설명합니다.

{ "method": "mymethod", "parameters": [10, "somestring", {SomeProperty : value}]}

이것은 JSON RPC 호출 mymethod (int, string, ComplexProperty)에 대한 호출을 나타냅니다.

The code is:-

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Threading.Tasks;

namespace JSONConsoleApplication4
{
    class Program
    {
        [DataContract]
        public class ComplexType
        {
            [DataMember]
            public string SomeProperty { get; set; }
        }

        [DataContract]
        public class GenericRequest
        {
            [DataMember]
            public string method { get; set; }
            [DataMember]
            public object[] parameters { get; set; }
        }


        static void Main(string[] args)
        {
            MemoryStream ms = new MemoryStream();
            DataContractJsonSerializerSettings settings = 
                new DataContractJsonSerializerSettings() { EmitTypeInformation=EmitTypeInformation.Never, 
                                                           KnownTypes=new Type[] { typeof(ComplexType) } };
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(GenericRequest),settings);
            serializer.WriteObject(ms, 
                new GenericRequest() { method = "mymethod", 
                                       parameters = new object[] { 10, "somestring", new ComplexType() { SomeProperty="value"}} });
            ms.Position = 0;
            string v = new StreamReader(ms).ReadToEnd();
        }
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Haskell에서 매개 변수화 된 유형을 JSON으로 직렬화하는 방법은 무엇입니까?

분류에서Dev

whloe 목록이 파이썬의 다른 매개 변수로 정렬되는 경우 매개 변수로 목록의 일부 튜플을 정렬하는 방법

분류에서Dev

매개 변수가 런타임에 알려진 특정 목록 유형을 만든 다음이 목록을 반복하는 방법은 무엇입니까?

분류에서Dev

유형에 대한 모듈을 매개 변수화하거나 OCaml의 모듈에서 유형을 이스케이프하는 방법이 있습니까?

분류에서Dev

변수 이름과 배열로 JSON을 역 직렬화하는 방법

분류에서Dev

인터페이스를 구현하는 클래스 유형의 객체를 역 직렬화하는 방법 (JSON) : 오류 매개 변수없는 생성자가 정의되지 않았습니까?

분류에서Dev

함수 매개 변수 목록 대신 함수 본문에서 유형을 이해하는 방법

분류에서Dev

방법 매개 변수로 유형이없는 일반 - 그것의 필드 유형을 확인할 수 없습니다

분류에서Dev

다양한 데이터 유형을 포함하는 JSON 배열을 단일 객체로 역 직렬화하는 방법

분류에서Dev

LI의 데이터 제목 매개 변수로 UL 목록을 정렬하는 방법은 무엇입니까?

분류에서Dev

spray.json을 사용하여 다형성 클래스를 직렬화하면 유형의 증거 매개 변수에 대한 암시 적 값을 찾을 수 없습니다.

분류에서Dev

비표준 (및 다양한) 속성 이름 (.NET)으로 JSON을 역 직렬화하는 방법

분류에서Dev

복잡한 유형을 단순 유형으로 직렬화 / 역 직렬화하는 Newtonsoft JSON 변환기를 구현하는 방법

분류에서Dev

문자열 값이 동일한 이름의 개체에 래핑 된 JSON을 명확하게 역 직렬화하는 방법

분류에서Dev

이러한 유형 술어의 유형을 매개 변수 유형에 할당하는 방법은 무엇입니까?

분류에서Dev

TypeScript의 함수에 대한 반환 유형에서 매개 변수 값을 속성 이름으로 사용하는 방법은 무엇입니까?

분류에서Dev

직렬화 중에 JSON 속성 이름을 자체 변수 이름에 매핑하는 방법은 무엇입니까?

분류에서Dev

두 매개 변수 Json 변환을 직렬화하는 방법은 무엇입니까?

분류에서Dev

AngularJS-NgModel 이름을 함수의 매개 변수로 전달한 다음 $ scope로 액세스하는 방법

분류에서Dev

한 필드의 유형을 알 수없는 경우 Jackson이 JSON 개체를 구문 분석하는 방법

분류에서Dev

함수 (C ++)의 입력 매개 변수로 매개 변수 팩과 유형 이름을 사용하는 클래스를 가져 오는 방법

분류에서Dev

객체 유형을 유형 매개 변수의 인수로 사용하는 방법이 있습니까?

분류에서Dev

TypeError : 'ObjectId'유형의 개체는 Flask 및 MongoDB를 사용하여 JSON 직렬화 할 수 없습니다.

분류에서Dev

Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

분류에서Dev

GSON를 사용하여 알 수없는 원시적 인 JSON 속성 유형을 역 직렬화하는 방법

분류에서Dev

동일한 매개 변수를 포함하는 목록의 값을 평균화하는 방법

분류에서Dev

매개 변수없이 형식화 된 작업을 작성하는 방법

분류에서Dev

제네릭 유형 매개 변수의 데이터 유형을 추출하는 방법은 무엇입니까?

분류에서Dev

제네릭 유형 매개 변수의 데이터 유형을 추출하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Haskell에서 매개 변수화 된 유형을 JSON으로 직렬화하는 방법은 무엇입니까?

  2. 2

    whloe 목록이 파이썬의 다른 매개 변수로 정렬되는 경우 매개 변수로 목록의 일부 튜플을 정렬하는 방법

  3. 3

    매개 변수가 런타임에 알려진 특정 목록 유형을 만든 다음이 목록을 반복하는 방법은 무엇입니까?

  4. 4

    유형에 대한 모듈을 매개 변수화하거나 OCaml의 모듈에서 유형을 이스케이프하는 방법이 있습니까?

  5. 5

    변수 이름과 배열로 JSON을 역 직렬화하는 방법

  6. 6

    인터페이스를 구현하는 클래스 유형의 객체를 역 직렬화하는 방법 (JSON) : 오류 매개 변수없는 생성자가 정의되지 않았습니까?

  7. 7

    함수 매개 변수 목록 대신 함수 본문에서 유형을 이해하는 방법

  8. 8

    방법 매개 변수로 유형이없는 일반 - 그것의 필드 유형을 확인할 수 없습니다

  9. 9

    다양한 데이터 유형을 포함하는 JSON 배열을 단일 객체로 역 직렬화하는 방법

  10. 10

    LI의 데이터 제목 매개 변수로 UL 목록을 정렬하는 방법은 무엇입니까?

  11. 11

    spray.json을 사용하여 다형성 클래스를 직렬화하면 유형의 증거 매개 변수에 대한 암시 적 값을 찾을 수 없습니다.

  12. 12

    비표준 (및 다양한) 속성 이름 (.NET)으로 JSON을 역 직렬화하는 방법

  13. 13

    복잡한 유형을 단순 유형으로 직렬화 / 역 직렬화하는 Newtonsoft JSON 변환기를 구현하는 방법

  14. 14

    문자열 값이 동일한 이름의 개체에 래핑 된 JSON을 명확하게 역 직렬화하는 방법

  15. 15

    이러한 유형 술어의 유형을 매개 변수 유형에 할당하는 방법은 무엇입니까?

  16. 16

    TypeScript의 함수에 대한 반환 유형에서 매개 변수 값을 속성 이름으로 사용하는 방법은 무엇입니까?

  17. 17

    직렬화 중에 JSON 속성 이름을 자체 변수 이름에 매핑하는 방법은 무엇입니까?

  18. 18

    두 매개 변수 Json 변환을 직렬화하는 방법은 무엇입니까?

  19. 19

    AngularJS-NgModel 이름을 함수의 매개 변수로 전달한 다음 $ scope로 액세스하는 방법

  20. 20

    한 필드의 유형을 알 수없는 경우 Jackson이 JSON 개체를 구문 분석하는 방법

  21. 21

    함수 (C ++)의 입력 매개 변수로 매개 변수 팩과 유형 이름을 사용하는 클래스를 가져 오는 방법

  22. 22

    객체 유형을 유형 매개 변수의 인수로 사용하는 방법이 있습니까?

  23. 23

    TypeError : 'ObjectId'유형의 개체는 Flask 및 MongoDB를 사용하여 JSON 직렬화 할 수 없습니다.

  24. 24

    Play의 json을 사용하여 동적 필드 이름을 직렬화 / 역 직렬화하는 방법

  25. 25

    GSON를 사용하여 알 수없는 원시적 인 JSON 속성 유형을 역 직렬화하는 방법

  26. 26

    동일한 매개 변수를 포함하는 목록의 값을 평균화하는 방법

  27. 27

    매개 변수없이 형식화 된 작업을 작성하는 방법

  28. 28

    제네릭 유형 매개 변수의 데이터 유형을 추출하는 방법은 무엇입니까?

  29. 29

    제네릭 유형 매개 변수의 데이터 유형을 추출하는 방법은 무엇입니까?

뜨겁다태그

보관