2016-02-13 2 views
3

Метод JSON.stringify() преобразует значение JavaScript в JSONJSON.stringify() результат при входе одиночное значение

console.log(JSON.stringify('a')); 
//produce "a" 
console.log(JSON.stringify(1)); 
//produce 1 
console.log(JSON.stringify(true)); 
//produce true 

, но в соответствии с определением, они не в формате JSON

"a" 
1 
true 

определение JSON является ниже

JSON построен на двух конструкциях:

Коллекция пар имя/значение. На разных языках это , реализованный как объект, запись, структура, словарь, хеш-таблица, keyed список или ассоциативный массив.

Упорядоченный список значений. В большинстве языков это реализуется как массив, вектор, список или последовательность.

Мой вопрос: JSON.stringify() не производит JSON при вводе выше значений, почему это так?

+1

Что бы ожидаемый результат для вас? какое имя получит эти значения? – Sirikon

ответ

4

JSON.stringify() метод преобразует значение JavaScript в строку JSON , необязательно, заменяя значения, если функция Заменитель указана , или, необязательно, в том числе только указанными свойствами, если задан массив из Заменитель ,

Ссылка: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

"? мой вопрос JSON.stringify() не производит JSON, когда вход выше значений, почему в том, что"

Это все Действительный синтаксис JSON, представляющий значение JSON:

"a" 
1 
true 
{} 
[] 

Проверьте это:

JSON.parse('"foo"'); // returns "foo" 
JSON.parse(1); // returns 1 
JSON.parse(true); // returns true 
JSON.parse('{}'); // returns {} 
JSON.parse('[]'); // returns [] 

Для получения дополнительных разъяснений это проверить эти ответы:

Is this simple string considered valid JSON?

What is the minimum valid JSON?

+0

- эти значения "a", 1, true являются действительными json-строками –

Смежные вопросы