Форматирование JSON RPC

В моем проекте я должен отправить очень конкретный запрос JSON на сервер оракула, чтобы получить ответ; на данный момент я отправляю строку json:

{\"id\":\"1\",\"method\":\"getOverviewInfo\",\"Params\":{\"overviewID\":\"0000004297\",\"overviewType\":\"Stock Items\",\"AORParams\":null,\"arrOptions\":{\"columnInfo\":\"1;100;1;1#\",\"orderInfo\":\"1;0;0#\"}}}" Из этого класса:

public class SendOverview    {              

public string id   { get; set;}
                public string method { get; set;}
                public SendOV Params {get; set;}
    }

 public class SendOV    {               

public string overviewID { get; set; }
        public string overviewType { get; set; }
        public string AORParams { get; set; }
        public SentDatas arrOptions { get; set; }

    }   

public class SentDatas    {       

public string columnInfo { get; set; }
        public string orderInfo { get; set; }
    }

Теперь мой вопрос: могу ли я настроить строку запроса, чтобы удалить имена членов из массива Params, поэтому вместо «overviewID» = «xxxx», «overviewType» = «xxxx».......

Должно быть "хххх", "хххх"

РЕДАКТИРОВАТЬ ФОРМАТ:

{
    "id": "1",
    "method": "getOverviewInfo",
    "Params": {
        "0000004297",
        "Stock Items",
        null,
        {
            "columnInfo": "1;100;1;1#",
            "orderInfo": "1;0;0#"
        }
    }
}

person NoxBene    schedule 16.04.2012    source источник
comment
Проблема заключается в том, что я понятия не имею, как сериализовать массив из нескольких объектов, даже создать его.   -  person NoxBene    schedule 16.04.2012


Ответы (1)


Да, вы можете сделать что-то подобное, вам нужно заменить объект {} массивом [] для значения параметров, если вы это сделаете.

Нравиться:

{
    "id": "1",
    "method": "getOverviewInfo",
    "Params": [
        "0000004297",
        "Stock Items",
        null,
        {
            "columnInfo": "1;100;1;1#",
            "orderInfo": "1;0;0#"
        }
    ]
}

Я предполагаю, что причиной вашего желания является размер трансфера. Конечная точка, на которую вы отправляете, по-прежнему должна знать, как читать этот запрос, если она поддерживает позиционные параметры, как указано выше, вам нужно будет убедиться, что они расположены в правильном порядке и остаются постоянными.

person Austin Harris    schedule 04.05.2012