0
URLSession
を使用してiOSデバイスからJSONを送信しています。私が送信しています:iOSからJSONを解析するNode.js URLセッションのセッション
let body = try? JSONSerialization.data(withJSONObject: order.toJSON())
// { "customer": 123 }
request.httpBody = body
request.httpMethod = "POST"
URLSession.shared.dataTask(with: request) { (data, response, error) in
...
}.resume()
を私はその直後体を印刷する場合、私は有効なJSONを取得する実行します。
print(String(data: request.httpBody!, encoding: .utf8)!)
// {"customer":123}
次に、サーバ側nodejs
に、私は次のコード(ノードを持っていますか、 Javascriptを)私のメインのドメインではありません。
module.exports = function (ctx, req, res) {
console.log(ctx.body)
// { '{"customer": 123}': '' }
...
私の質問は、なぜそれがJSON key
に、元のJSONを追加して、どのようにそれを避けることができますか?
使用方法JSON.parse
は、穴を取得すると機能しません。JSONは空の値のキーです(例)。
申し訳ありませんが明らかになりません。 'toJSON()'はカスタムメソッドで、 '[String:Any]'辞書を返します。あなたのスニペットを見て、直接ディクテーションを再現しようとします。ありがとうございました – aramusss
それはまさにその問題のようです。あなたはすでに 'JSONSerialization.data()'を介して要求本体をストリング化しています。それを2回する必要はありません。 – brandonscript