Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.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.stringify输出_Javascript_Json_Object_Escaping_Stringify - Fatal编程技术网

Javascript 如何在对象数组中取消json.stringify输出

Javascript 如何在对象数组中取消json.stringify输出,javascript,json,object,escaping,stringify,Javascript,Json,Object,Escaping,Stringify,当我通过fetch发布一个json.stringify时,我得到了一个错误的响应,问题在于json.stringify正在生成的转义引号。当我手动删除它们时,它可以工作,但我需要自动完成 var order = { "from_country": "US", "line_items": [ { "quantity": 1, "unit_price": 19.95 } ], "to_country": "US" }; var body = JSON.stringi

当我通过fetch发布一个json.stringify时,我得到了一个错误的响应,问题在于json.stringify正在生成的转义引号。当我手动删除它们时,它可以工作,但我需要自动完成

var order = {
  "from_country": "US",
  "line_items": [
  {
  "quantity": 1,
  "unit_price": 19.95
  }
  ],
  "to_country": "US"
};

var body = JSON.stringify(order);
变量主体将显示为:

{"from_country":"US","line_items":"[{\"quantity\": 1, \"unit_price\": 19.95}]","to_country":"US"}
{"from_country":"US","line_items":"[{"quantity": 1, "unit_price": 19.95}]","to_country":"US"}
我希望它显示为:

{"from_country":"US","line_items":"[{\"quantity\": 1, \"unit_price\": 19.95}]","to_country":"US"}
{"from_country":"US","line_items":"[{"quantity": 1, "unit_price": 19.95}]","to_country":"US"}

问题是我的文件包括原型库

我通过添加此代码修复了冲突,同时仍然保持了原型的功能(我认为)-

JSON = JSON || {};
JSON.stringify = function(value) { return Object.toJSON(value); };
JSON.parse = JSON.parse || function(jsonsring) { return jsonsring.evalJSON(true); };
我第一次无意中发现了这个问题: 这让我想到了,然后我添加了一个注释中的位,以使它能够处理对象


如果有人能解释我正在使用的代码是如何工作的,那就太好了。

在chrome js控制台中尝试了这一点,并在那里正确显示:/Agree with@NsevensMy直接从chrome控制台输出。也许这是我的JavaScript被包装在PHP中的一个问题,谢谢,我会研究这个问题。你是在递归地串化
order
?在编写第一个代码段时,
order
不会像这样进行字符串化:
order.line\u items
是一个数组,但您声称结果是一个字符串。递归地?不知道你的意思。控制台中显示了一个字符串。