Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在json对象中将代码段作为多行字符串传递_Javascript_Json_Node.js_Postman - Fatal编程技术网

Javascript 如何在json对象中将代码段作为多行字符串传递

Javascript 如何在json对象中将代码段作为多行字符串传递,javascript,json,node.js,postman,Javascript,Json,Node.js,Postman,我试图创建一个编辑器,将代码发送到HackerArth API,以JSON对象的形式进行编译。JSON对象如下所示: { "code":`#include<stdio.h> int main() { printf("hello world"); }`, "language":"C" } { “代码”:“包括” int main() { printf(“你好世界”); }`, “语言”:“C” } 我得到的错误如下: S

我试图创建一个编辑器,将代码发送到HackerArth API,以JSON对象的形式进行编译。JSON对象如下所示:

{
"code":`#include<stdio.h>
        int main()
       {
         printf("hello world");
       }`,
"language":"C"
}
{
“代码”:“包括”
int main()
{
printf(“你好世界”);
}`,
“语言”:“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)
SyntaxError:意外标记
在位置29处的JSON中
在JSON.parse()处
解析时(C:\Users\GURU\Documents\Project master\node\u modules\body parser\lib\types\json.js:89:19)
在C:\Users\GURU\Documents\Project master\node\u modules\body parser\lib\read.js:121:18
在invokeCallback(C:\Users\GURU\Documents\Project master\node\u modules\raw body\index.js:224:16)
完成时(C:\Users\GURU\Documents\Project master\node\u modules\raw body\index.js:213:7)
在IncomingMessage.onEnd(C:\Users\GURU\Documents\Project master\node\u modules\raw body\index.js:273:7)
在emitNone(events.js:105:13)
在IncomingMessage.emit(events.js:207:7)
在endReadableNT(_stream_readable.js:1047:12)
at _combinedTickCallback(内部/流程/下一步_tick.js:102:11)
在进程中。_tick回调(内部/process/next_tick.js:161:9)
请帮忙!
提前谢谢

JSON容器的主要用法是错误的。 字符串总是双引号。 纽琳会逃走的。双引号必须转义

{
 "code":"#include <stdio.h> int main()  { printf(\"hello world\"); }", 
 "language":"C"
}
{
“代码”:“#include int main(){printf(\'hello world\”;}”,
“语言”:“C”
}

使用RFC4627获得更深入的知识或一些JSON。

您对JSON容器的使用主要不好。 字符串总是双引号。 纽琳会逃走的。双引号必须转义

{
 "code":"#include <stdio.h> int main()  { printf(\"hello world\"); }", 
 "language":"C"
}
{
“代码”:“#include int main(){printf(\'hello world\”;}”,
“语言”:“C”
}

使用RFC4627获得更深入的知识或一些JSON。

这不是JSON,而是一个JavaScript对象。如果您改为
JSON.stringify(obj)
,那么它将变成JSON。然而,mongodb标签有点令人担忧,因为“你到底想做什么?”。因为MongoDB也不存储“JSON字符串”。普通JavaScript对象由驱动程序解析为BSON。这里没有JSON。这不是JSON,而是一个JavaScript对象。如果您改为
JSON.stringify(obj)
,那么它将变成JSON。然而,mongodb标签有点令人担忧,因为“你到底想做什么?”。因为MongoDB也不存储“JSON字符串”。普通JavaScript对象由驱动程序解析为BSON。这里没有JSON。我不希望它出现在一行中,我希望以相同的方式将它传递到API@StanislavSokol@gurucharan您的换行符将被编码(可能是
\n
),正如这个答案所说的,您必须使用双引号才能使其有效。反勾号不是一个有效的字符串分隔符。请重新对读取进行编码。很明显,换行符是不允许的,因此必须使用
\n
来转义换行符。我不希望换行符出现在一行中,我希望以相同的方式@Stanislav将其传递给APISokol@gurucharan您的换行符将被编码(可能为
\n
)正如这个答案所说的,你必须使用双引号才能使它有效。反勾号不是一个有效的字符串分隔符。请重新对读取进行编码。很明显,不允许换行符,因此必须使用
\n