最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

将字符串值解析为Object

IT培训 admin 3浏览 0评论

将字符串值解析为Object

嗨,那么我有一个像这样的问题:我有一个用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");
})

身体记录:

新的JavaScript代码图片:

回答如下:

为什么在字符串上使用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);

将字符串值解析为Object

嗨,那么我有一个像这样的问题:我有一个用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");
})

身体记录:

新的JavaScript代码图片:

回答如下:

为什么在字符串上使用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);

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论