我正在开发一个接受JSON的WCF服务。我的方法签名接受两个参数,一个复杂对象和一个简单类型。对于下面的所有意图和目的,假设"servicecredentials"有两个属性,"username"one_answers"password"。我有有效的JSON,但当我使用类似poster的工具时,我会收到错误"期望找到名称为'type'、值为'object'的属性。找到值为'array'。"
应该如何将此JSON发布到方法?
<OperationContract()>
<WebInvoke(method:="POST")>
Function GetStuff(ByVal creds As servicecredentials, ByVal acctNum As String)
JSON Im发布
[
{
"UserName": "someUSer",
"Password": "p@ssw0Rd"
},
{
"acctNum": "X12362"
}
]
[]
括号表示JSON Array
,{}
括号表示JSON Object
。如果用{}
括号包围数组,它将是一个对象,这似乎就是它要寻找的对象。
示例:
{
"data": [
{
"UserName": "someUSer",
"Password": "p@ssw0Rd"
},
{
"acctNum": "X12362"
}
]
}
JSON的确切内部结构取决于该方法如何处理数据。错误只是简单地说明JSON没有被对象包含。