如何使用R和plumber将javascript可以理解为数组而不是字符串的json对象发送出去?
我试图从如何使用R和plumber将javascript可以理解为数组而不是字符串的json对象发送出去?,javascript,r,plumber,Javascript,R,Plumber,我试图从RPlumber获取JSON原始响应,并在Angular中使用它,但JavaScript框架认为它是字符串而不是JSON格式 "[{\"id\":1,\"type\":\"Diagnostic\"},{\"id\":2,\"type\":\"Impact\"}]" 我看到了,但这些并没有真正帮助我 如何使它成为JavaScript框架可以识别的正确
R
Plumber
获取JSON原始响应,并在Angular
中使用它,但JavaScript框架
认为它是字符串而不是JSON格式
"[{\"id\":1,\"type\":\"Diagnostic\"},{\"id\":2,\"type\":\"Impact\"}]"
我看到了,但这些并没有真正帮助我
如何使它成为JavaScript框架可以识别的正确JSON格式
#* @apiTitle Diagnostic Report API
#* Send the list of report types
#* @get /reportTypes
#* @serializer unboxedJSON
function(){
reportTypes <- read_csv(file = "ReportTypes.csv")
# list(
# message_echo = paste("The text is:", "text")
# )
}
回答你自己的问题不是最好的办法,但我发现很多这样的问题,但没有一个适合我的解决方案。我觉得我应该写这篇文章来回答任何遇到类似情况的人。希望它能为用户节省数小时痛苦的调试时间 许多帖子,包括我上面提到的帖子,都正确地断言
plumber
自动序列化r
对象。这意味着,它应该为任何请求使用数据的应用程序做好准备。但很明显,我遗漏了一些东西。我已经尝试过基于这些的解决方案
原来,我的express.js
服务器也在将文本解析为json
router.get('/', function (req, res) {
request.get({ url: 'http://localhost:5762/reportTypes' },
function (error, response, body) {
if (!error && response.statusCode == 200) {
res.json(body); <-- this is where it's serializing again
}
});
});
router.get('/',函数(req,res){
获取({url:'http://localhost:5762/reportTypes' },
功能(错误、响应、正文){
如果(!error&&response.statusCode==200){
res.json(正文);您是在javascript端解析数据吗?您是如何使用数据的?您需要告诉javascript在某个时候解析数据。所有JSON数据在HTTP请求期间都编码为字符串。我不是。我通常在从某个数据库检索数据时不必这样做。我是第一次做这个R+管道工,所以我有点担心困惑。之前原始响应中的json格式是正确的格式,没有转义,javascript会识别它是一个数组。根据管道工的描述,数据已经序列化。
router.get('/', function (req, res) {
request.get({ url: 'http://localhost:5762/reportTypes' },
function (error, response, body) {
if (!error && response.statusCode == 200) {
res.json(body); <-- this is where it's serializing again
}
});
});