我正在开发一个接受JSON的WCF服务。我的方法签名接受2个参数,一个复杂的对象和一个简单的类型。对于下面的所有意图和目的,假设“servicecredentials”有2个属性,“username”和“password”。我有有效的JSON,但是当我使用像postman这样的工具时,我得到错误“预期找到一个名为'type'的属性'和'value'。找到值'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"
}
]
答案 0 :(得分:1)
[]
括号表示JSON Array
,{}
括号表示JSON Object
。如果你用{}
括号包含数组,那么它就是一个对象,这就是它所寻找的对象。
示例:
{
"data": [
{
"UserName": "someUSer",
"Password": "p@ssw0Rd"
},
{
"acctNum": "X12362"
}
]
}
JSON的确切内部结构取决于方法如何处理数据。该错误只是声明JSON不包含在对象中。