2015-03-02 3 views
0

Im разрабатывает службу WCF, которая принимает JSON. Моя подпись метода принимает 2 параметра, сложный объект и простой тип. Для всех целей и целей, приведенных ниже, предположим, что «servicecredentials» имеет 2 свойства, «имя пользователя» и «пароль». У меня есть действительный JSON, но когда я использую такой инструмент, как почтальон, я получаю сообщение об ошибке «Ожидалось найти атрибут с именем« тип »и значением« объект ». Найдено значение« array ».«JSON для сложных и простых типов данных

Как должен этот JSON быть отправлен в метод?

<OperationContract()> 
<WebInvoke(method:="POST")> 
Function GetStuff(ByVal creds As servicecredentials, ByVal acctNum As String) 

JSON Im размещение

[ 
    { 
     "UserName": "someUSer", 
     "Password": "[email protected]" 
    }, 
    { 
     "acctNum": "X12362" 
    } 
] 

ответ

1

В [] скобки означают JSON Array, что {} скобки означают JSON Object. Если вы включите массив с помощью скобок {}, это будет объект, который, по-видимому, ищет.

Пример:

{ 
    "data": [ 
       { 
        "UserName": "someUSer", 
        "Password": "[email protected]" 
       }, 
       { 
        "acctNum": "X12362" 
       } 
      ] 
} 

Точная внутренняя структура JSON зависит от того, как метод будет обрабатывать данные. Ошибка состоит в том, что JSON не охвачен объектом.

+0

спасибо! это прекрасно работает – ewitkows

Смежные вопросы