#javascript
#javascript
Вопрос:
я получаю вывод следующим образом
["/Vegetables/","/Fruits/"]
но я хочу вот так [/Vegetables/,/Fruits/]
вот мой код
var varieties=[];
for (var i = 0; i < catagories.length; i ) {
// actually catagories output is like this ["Vegetables","Fruits"]
//here iam adding slashes for my requirement.
var eg1 = "/" catagories[i] "/";
var eg2= eg1.replace(/"/g, "");
varieties.push(eg2);
}
console.log(JSON.stringify(varieties));
после использования «replace» я все еще получаю вывод, подобный ["/Vegetables/","/Fruits/"]
пожалуйста, помогите мне получить вывод, подобный [/Vegetables/,/Fruits/]
Комментарии:
1. Это недопустимый JSON без кавычек.
2. Вы просто не можете . JSON всегда использует двойные кавычки для строковых значений.
3. У вас есть правильный вывод
4. Это не только недопустимый JSON, но и недопустимый JS… строка будет заключена в кавычки, несмотря ни на что.
Ответ №1:
В Javascript у вас не может быть строки без кавычек. «/Vegetables/» — это допустимая строка, но /Vegetables — ошибка, поскольку она не является ни именем переменной, ни строкой.
Ожидаемый результат — недопустимый массив JS. Чтобы получить выходные данные [/Vegetables,/Fruits], попробуйте использовать replace на выходе Stringify . Не уверен, почему у вас есть такое требование об удалении «», но приведенный ниже фрагмент должен соответствовать вашим требованиям.
var catagories = ["Vegetables","Fruits"];
var eg1 = JSON.stringify(catagories);
var eg2= eg1.replace(/"/g, "/");
console.log(eg2);
Вывод: [/Овощи /,/ Фрукты/]
Комментарии:
1. Вы также могли бы упомянуть, что
JSON.stringify
добавляет кавычки вокруг всех строк.2. @evolutionxbox спасибо за предложение. Да, вы правы. Stringify преобразует всю структуру JSON в строку, добавляя кавычки к нестроковым элементам.