我如何将代码片段作为json对象中的多行字符串传递
我想创建一个编辑器,我将代码发送到HackerEarth API进行JSON对象形式的编译。我使用PostMan来检查API 。 JSON对象如下:我如何将代码片段作为json对象中的多行字符串传递
{
"code":`#include<stdio.h>
int main()
{
printf("hello world");
}`,
"language":"C"
}
我得到的错误如下:
SyntaxError: Unexpected token
in JSON at position 29
at JSON.parse (<anonymous>)
at parse (C:\Users\GURU\Documents\Project-master\node_modules\body-parser\lib\types\json.js:89:19)
at C:\Users\GURU\Documents\Project-master\node_modules\body-parser\lib\read.js:121:18
at invokeCallback (C:\Users\GURU\Documents\Project-master\node_modules\raw-body\index.js:224:16)
at done (C:\Users\GURU\Documents\Project-master\node_modules\raw-body\index.js:213:7)
at IncomingMessage.onEnd (C:\Users\GURU\Documents\Project-master\node_modules\raw-body\index.js:273:7)
at emitNone (events.js:105:13)
at IncomingMessage.emit (events.js:207:7)
at endReadableNT (_stream_readable.js:1047:12)
at _combinedTickCallback (internal/process/next_tick.js:102:11)
at process._tickCallback (internal/process/next_tick.js:161:9)
请帮助! 在此先感谢!
您主要使用了JSON容器。 字符串总是加引号。 Newline应该逃脱。双引号需要逃脱。
{
"code":"#include <stdio.h> int main() { printf(\"hello world\"); }",
"language":"C"
}
使用RFC 4627获得更深的知识或某些JSON validator。
我不希望它在一行中,我想以同样的方式将它传递给API @Stanislav Sokol – gurucharan
@gurucharan你的新行将被编码(可能是'\ n'),并且这个答案说 - 您必须使用双引号使其有效。反引号不是有效的字符串分隔符 – Jamiec
我高度推荐了[JSON](http://json.org/)阅读。很明显,换行符是不允许的,所以必须用'\ n'来避免你的换行符 –
那不是JSON,而是一个JavaScript对象。如果你改为'JSON.stringify(obj)',那么它就变成了JSON。然而,mongodb标签有点令人担忧,因为“你真的想要做什么?”。因为MongoDB不存储“JSON字符串”。普通的JavaScript对象由驱动程序解析为BSON。这里没有JSON。 –