gpt4 book ai didi

javascript - 将字符串值解析为对象

转载 作者:搜寻专家 更新时间:2023-11-01 06:14:30 24 4
gpt4 key购买 nike

您好,我遇到了这样的问题:我有一个用 swift 编写的应用程序,它使用 json 数组将值发送到 node.js!我应该推断用户名和密码参数吗?我该怎么办?

Swift 代码:

// prepare json data
let json: [String: Any] = ["Username": ""+UsernameTextBox.text!,"Password": ""+PasswordTextBox.text!]

let jsonData = try? JSONSerialization.data(withJSONObject: json)

// create post request
let url = URL(string: "http://localhost:3000/login")!
var request = URLRequest(url: url)
request.httpMethod = "POST"

// insert json data to the request
request.httpBody = jsonData

let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data, error == nil else {
print(error?.localizedDescription ?? "No data")
return
}
let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
if let responseJSON = responseJSON as? [String: Any] {
print(responseJSON)
}
}

task.resume()

Node.js 代码:

var express = require("express");
var myParser = require("body-parser");
var app = express();

//Login
app.use(myParser.urlencoded({extended : true}));
app.post("/login", function(request, response) {
console.log(request.body);

});

//Application Listen on Port
app.listen(3000,function(){
console.log("Application Server Start on Port: 3000");
})

body 日志:

enter image description here

新的 JavaScript 代码图像:

enter image description here

最佳答案

为什么在字符串上使用 JSON.stringify,删除它,您的代码应该可以工作:

var data = JSON.parse(Object.keys(request.body)[0]);
var username = data.Username;
var password = data.Password;

var body = {'{"Password":"dsdsd","Username":"dsdsdsds"}':''};

var data = JSON.parse(Object.keys(body)[0]);
var username = data.Username;
var password = data.Password;

console.log(username, password);

关于javascript - 将字符串值解析为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com