用于复杂和简单数据类型的JSON



我正在开发一个接受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没有被对象包含。

最新更新