Как убрать вывод json.stringify внутри массива объектов - PullRequest
0 голосов
/ 01 апреля 2019

Я получаю плохой ответ, когда выкладываю json.stringify через fetch, и проблема в кавычках, которые создает json.stringify. Это работает, когда я удаляю их вручную, но мне нужно, чтобы это было сделано автоматически.

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

var body = JSON.stringify(order);

var body будет отображаться как:

{"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"}

1 Ответ

0 голосов
/ 02 апреля 2019

Проблема заключалась в том, что мой файл содержит библиотеку прототипов.

Я исправил конфликт, сохранив при этом функциональность прототипа (я думаю), добавив этот код -

JSON = JSON || {};
JSON.stringify = function(value) { return Object.toJSON(value); };
JSON.parse = JSON.parse || function(jsonsring) { return jsonsring.evalJSON(true); };

Я впервые наткнулся на эту проблему здесь: https://stackoverflow.com/a/20331694/8326722 что привело меня к https://stackoverflow.com/a/1327371/8326722, а затем я добавил бит из комментария, чтобы заставить его работать с объектами.

Если кто-то может объяснить, как работает код, который я использую, это было бы неплохо.

...