Отправьте данные JSON в виде пары KeyValue в службу отдыха

У меня есть Rest Service API, контракт

        [OperationContract]
        [WebInvoke(
                    Method = "POST",
                    RequestFormat = WebMessageFormat.Json,
                    ResponseFormat = WebMessageFormat.Json,
                    UriTemplate = "/CreateCustomActivity?token={authToken}"
                   )]
        ProcessStatus CreateCustomActivity(string authToken, ProspectActivityCompound activity);

ProspectActivityCompound, объект данных, имеет свойство ActivityFields типа данных

Dictionary<string,string>

Это мой запросДанные

{
    "RelatedProspectId": "2cd12345-1130-11e6-be13-06c7eb5c1234",
    "ActivityEvent": 156,
    "ActivityNote": "asdasdasd",
    "ActivityDate": "/Date(1468394160000)/",
    "ActivityDateTime": "2016-07-13 19:16:00",
    "Score": 9,
    "ActivityFields": {
        "Custom_1": "1234",
        "Custom_2": "asdf",
        "Custom_3": "dfg",
        "Custom_4": "qwe",
    }
}

Я знаю, что могу использовать это, чтобы получить данные в словаре.

"ActivityFields": [
          {"Key":"Custom_1", "Value":"1234"},
          {"Key":"Custom_2", "Value":"fgh"},
          {"Key":"Custom_3", "Value":"wer"},
          {"Key":"Custom_4", "Value":"sdfs"}
        ]

Я хочу, чтобы ActivityFields отображались как пара "ключ-значение", но сейчас это значение равно null. Формат JSON должен быть таким же, поэтому кто-нибудь может дать мне способ получить этот JSON в качестве пары "ключ-значение".


person Rathore25    schedule 13.07.2016    source источник
comment
Вы пробовали что-нибудь?   -  person Mainak    schedule 13.07.2016
comment
Почему бы просто не позволить json быть json? Если это так важно, почему бы просто не сопоставить поля активности самостоятельно?   -  person Paul Swetz    schedule 13.07.2016