qs.strinigfy в qs.parse преобразует массив из одного целого числа в целое число. как решить проблему? - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь структурировать объект {foo:[1]} с использованием библиотеки qs. И поместите это в мой URL. Но когда я анализирую строку запроса, объект {foo:[1]} был преобразован в {foo:1}. Код ниже -

import qs from "qs"; 

const str = qs.stringify({foo:[1]}; 
const parsed = qs.parse(str); 
console.log(parsed);

parsed = {foo:1} вместо {foo:[1]}, который изначально был предоставлен qs.stringify. и я сталкиваюсь с этой проблемой с массивом единственного элемента, который является целым числом. https://github.com/ljharb/qs/issues/315

1 Ответ

0 голосов
/ 04 апреля 2020

Вы должны использовать JSON методы stringify и parse. Это даст вам желаемый результат.

Пожалуйста, проверьте фрагмент ниже.

Примечание: я бы всегда предпочел решение без использования какой-либо внешней библиотеки.

const str = JSON.stringify({a: {foo:[1]}}); //-> This has to be appended to the URL
const parsed = JSON.parse(str); 


console.log(parsed);

let link = "http://example.com?object=" + str;
console.log(link);
...