gpt4 book ai didi

json - Node.js 中的正文解析不会转义请求正文中的换行符? JSON

转载 作者:太空宇宙 更新时间:2023-11-04 00:54:52 24 4
gpt4 key购买 nike

我正在创建一个基本的反向代理来将客户端请求传递到远程服务器。

因此,我将 body-parse 与 express.js 一起用于 Node 服务器,以允许我传递正文。

但是 JSON 中包含换行符和额外的大括号。

客户端

{
"lastRefreshedDateTime" : "2015-05-24",
"uid" : "1232141451"
}

服务器端

{
'{
\r\n"lastRefreshedDateTime": "2015-05-24",
\r\n"uid
": "1234567124321"\r\n
}\r\n': ''
}

Node.js 代码

        var express = require('express');
var http = require('request');
var path = require('path');
var url = require("url");
var bodyParser = require("body-parser"); //this is required in express 4.x to output the contents of the client request body
var app = express(); //start express server

// parse application/x-www-form-urlencoded
//app.use(bodyParser.urlencoded({ extended: false }))

// parse application/json
app.use(bodyParser().json())
// POST - getLocationData
app.post('/getLocationData', function (request, response)
{
console.log("Request for /getLocationData");
forwardRequest(request, response, "getLocationData", "POST", true);
});


app.listen(8080);

function forwardRequest(request, response, serviceName, requestMethod, isJSON)
{

console.log("Making request to EAS for " + serviceName + ":");
console.log(request.body); //json is fubar!

};

我自己尝试删除换行符,但仍然没有解决额外的大括号和倒置命令的问题

最佳答案

在客户端丑化 json。在发送字符串之前去掉 pretty-print ,应该可以消除问题。

在客户端使用 JSON.stringify,在服务器端使用 JSON.parse

edited to reflect comments

引用您关于JMeter usage的问题,您遇到的问题实际上可能是由 Jackson 或另一个 Java JSON 库引起的。 将内容类型编码设置为 UTF-8 通常可以完全解决该问题。

关于json - Node.js 中的正文解析不会转义请求正文中的换行符? JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30427176/

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