
Предисловие
JSON - это облегченный формат обмена данными между клиентами, серверами и внутри языков программирования. Это подмножество объекта JavaScript, независимое от каких-либо языков программирования.
Я видел, как у людей возникали проблемы при синтаксическом анализе или работе с данными JSON. Часто им трудно отличить данные объекта JavaScript от данных JSON. В этой истории я действительно хочу развеять все ваши заблуждения относительно этих двоих. Буквальная разница между этими двумя вариантами намного меньше, но это может стоить вам очень дорого, если вы не сможете различить их, когда это необходимо. Я опишу шаг за шагом и точно на конкретных примерах.
Прежде всего, нет ничего, что называется объектом JSON, будь то строка / текст JSON или данные JSON. И да, объекты JavaScript существуют.
Все об объектах JavaScript:
Пожалуйста, дайте мне несколько минут, чтобы поговорить об объектах JavaScript. Это простая пара "ключ-значение". Пример идеального объекта JavaScript показан следующим образом:
var person = {name: “Depp”, address: “earth”};//Note that some key-value pairs are enclosed with curly braces. //Keys are not enclosed with quotation sign.
→ Объекты JavaScript не содержат одинарные или двойные кавычки вокруг ключей, если в ключе отсутствует интервал. имя. Итак, если в имени ключа есть пробел, используются кавычки. Пример приведен ниже:
var person= {first name: “Depp”, address: “earth”}; //invalid// To prevent this error: var person= {“first name”: “Depp”, "address": “earth”};
Однако вы не можете вызывать значения какого-либо объекта обычным способом, если у вас есть более одного слова для имени ключа. Например,
person.first name; //This will give an error. To get rid of it, person["first name"]; //This works fine.
→ Добавлено, что любые ключевые слова языка, то есть if, else, for нельзя использовать в качестве ключей объекта JavaScript без одинарных / двойных кавычек! Смотри ниже:
var keywords= {if: “something”, for: “something1”}; //invalid var keywords= {"if": “something”, "for": “something1”}; //good to go
→ Функции могут использоваться внутри объектов JavaScript обычно как значения. Это делает объекты JS еще более мощными.
var person= {firstname: “Johnny”, lastname: "Depp”, fullname : function(){
return (this.firstname+ ‘ ‘ + this.lastname);
}
};
document.write (person.fullname()); //this is gonna work perfect.
Все о JSON
Это эпоха объектно-ориентированного программирования. Объекты сделаны с атрибутами. Когда мы хотим обмениваться значениями атрибутов между клиент-сервером или внутри языков, мы должны использовать для этого любой подходящий формат. XML служил этой службе довольно долгое время, но у него были некоторые недостатки, то есть проблемы с накладными расходами. XML-файл, содержащий тот же объем полезной нагрузки, что и JSON, сравнительно тяжелее данных JSON. Итак, JSON является предпочтительным и широко используемым в наши дни.
→ JSON - это, по сути, «строковая» версия объекта JavaScript. Это просто текстовый формат данных, и одинарные кавычки не допускаются для JSON.
→ 6 типов данных могут содержаться в данных / строке / тексте JSON.
- Число
- Нить
- Множество
- Логический
- Нулевой
- Объект
Однако функции не могут быть включены в данные JSON, в отличие от объектов JavaScript.
→ Если вы просто выполните следующее утверждение, вы увидите видимые различия между JSON и JavaScript Object.
var person = {
"name": “Depp”,
"address": “earth”
};
//A simple JSON data where the keys are enclosed with double quotes
→ Это пока что видимые буквальные отличия. Теперь я познакомлю вас с двумя методами, которые преобразуют объекты JavaScript в строку JSON и наоборот.
- JSON.parse (); // Превращает строку JSON в объект JavaScript.
- JSON.stringify (); // Превращает объект JavaScript в строку / данные JSON
→ Пожалуйста, внимательно следите за следующими утверждениями. Думаю, на сегодня все.
var log = { page: "www.xyz.com", item: "item1", action: "action1" }; log1 = JSON.stringify(log); console.log(log1);//Now we know, as per the JSON.stringify() function definition, it will simply turn the object log into a JSON string. //OUTPUT'{ "page": "www.xyz.com" ,"item": "item1","action": "action1" }'//Again,console.log(JSON.parse(log1));//This function will again turn the log1 string into a valid JavaScript object//OUTPUTObject { page : www.xyz.com, item : "item1", action : "action1" }
Пока что я показал все, что может возникнуть как путаница или ошибка при работе с данными JSON и JavaScript. Я проиллюстрировал это примерами, так что ни у кого, кто читает это, не возникнет проблем с пониманием этого.
Если вам понравился мой рассказ, хлопайте в ладоши и подпишитесь на меня, чтобы узнать более сложные темы!
Хорошего дня :)