我正在尝试使用必要的参数构造Dictionary,以将JSON POST请求发送到服务器端。

let params: [String: AnyObject] = [
        "someRootKey": [
            "someKey": [
                "someKey": someClass.someProperty,
                "someKey": someClass.someProperty,
                "someKey": someClass.someProperty
            ],

            "someKey": someClass.someProperty,
            "someKey": someClass.someProperty,
            "someKey": someClass.someProperty,
            "someKey": someClass.someProperty,
            "someKey": someClass.someProperty,
            "someKey": "someString"
        ]
    ]


所有值都是字符串。但是我确实得到了一个错误。第一个:[String:AnyObject]无法转换为[String:AnyObject]。第二个(在Dictionary中的最后一个元素附近):'_'不可转换为StringLiteralConvertible。如果我省略了params常量的类型声明,则会出现另一个错误:表达式类型不明确,没有更多上下文。有人可以解释这是怎么回事吗?

最佳答案

我可以通过以字符串形式构造请求来在正文中使用JSON发出请求,即:

let bodyData = "{\"name\": \"\(self.student_name)\"}"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding)

关于ios - 无法为JSON请求构造字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31939469/

10-13 04:00