0

iOS から apiary サーバーに単純な json オブジェクトを送信しようとしています。作成後にjsonオブジェクトを印刷すると、すべてがうまく見えます。しかし、養蜂場はすべてが混同されていることを示しています。アイテムが 1 つしかない場合は、問題ないように見えます。

ここで、オブジェクトを作成してエンコードします

let jsonDict = ["name":student.name,
        "email":student.email,
        "password":student.password,
        "gender":student.gender,
        "graduationYear":student.graduationYear,
        "school":student.school,
        "street":student.address.address,
        "city":student.address.city,
        "state":student.address.state
    ]

    var error: NSError?
    let jsonData = NSJSONSerialization.dataWithJSONObject(jsonDict, options: NSJSONWritingOptions(0), error: &error)
    let s = NSString(data: jsonData!, encoding: NSUTF8StringEncoding)
    println(s)

次に、AFNetworking を使用してデータを送信します

let manager = AFHTTPRequestOperationManager(baseURL: NSURL(string: "\(server)"))
    manager.POST("students", parameters: nil,
        constructingBodyWithBlock: { (data: AFMultipartFormData!) in
            data.appendPartWithFormData(jsonData!, name: "json")
            data.appendPartWithFileData(imageData, name: "image", fileName: "image.jpg", mimeType: "image/jpeg")
        },
        success: { operation, response in
            println("[success] operation: \(operation), response: \(response)")
        },
        failure: { operation, error in
            println("[fail] operation: \(operation), error: \(error)")
    })

取得したデコードされた json オブジェクトをログに記録する

{"city":"city","state":"Alabama","gender":"Male","street":"101  ","password":"password","graduationYear":"2014","email":"joe@joe.com","school":"Abcott Institute","name":"joe"}

最後に、養蜂場で次のようになります ここに画像の説明を入力

jsonはすべて混同されています。AFNetworking が原因なのか、養蜂場が混同しているのかはわかりませんが、実際のサーバーにはこの問題がないため、心配する必要はありません。

最後に、養蜂場の設定方法は次のとおりです ここに画像の説明を入力

私がやっている疑わしいことを見た人はいますか?ありがとうございました

ああ、物事を混同することに加えて、json にはデータが繰り返されています。

4

1 に答える 1

0

リクエストを次のように変更してみてください。

+ Request (application/json)

        {"city":"city","state":"Alabama","gender":"Male","street":"101  ","password":"password","graduationYear":"2014","email":"joe@joe.com","school":"Abcott Institute","name":"joe"}
于 2014-11-14T03:52:08.103 に答える