Introduction to JSON

Published Feb 10 2021 11:47 PM 19.4K Views
Microsoft

It seems like JSON is everywhere these days. Adaptive cards, Microsoft Teams app manifests, and SharePoint list formats are all written in JSON. And JSON is the de-facto standard for REST APIs like Microsoft Graph; you can't make a call without it. Power Apps, Power Automate, and Power BI can all handle JSON too. It really is everywhere except, it seems, in older products which were written when XML was king.

 

The intent of this article is to teach you what you need to know to use JSON in typical IT, low-code, or JavaScript development scenarios. It's organized in order from simple to complex; if you don't need some sections, just skip over them; you can always come back and read them later!

 

AdaptiveCardJSON.png

 Working with JSON in the Adaptive Card Designer

 

What is JSON?

JSON is a standard format for representing structured data as text. JSON is commonly used to store data in text files and to exchange data between programs over a network. JSON files usually have a .json filename extension.

 

Geek Note: JSON serves more or less the same purpose as XML (eXtensible Markup Language) but it's shorter and easier to read. CSV format serves a similar purpose as well, but it's not a standard so the details tend vary, and it can only store tables (rows and columns) of data.

JSON data is organized as "objects" which contain name/value pairs. This example is the first step toward building a profile for Parker, the PnP mascot, who has kindly agreed to share personal information for this article.

{ "name": "Parker" }

JSON objects always begin with { and end with }; the very shortest valid JSON, {}, represents an empty object. The JSON example above contains a single name/value pair; the name is name and the value is "Parker". As you can see, the name and value are separated by a :. Names are case sensitive and need to be enclosed in double quotes. In this case, since "Parker" is a text value, it's enclosed in double quotes as well. Spaces, tabs, and newlines are ignored in JSON, but are helpful for readability.

The values can be simple things like text strings or numbers, collections of values (arrays), or more objects containing their own name/value pairs.

 

If you want to put more than one name/value pair in your JSON, separate them with commas like this:

 

{
  "name": "Parker",
  "species": "porcupine"
}

Note that the order of the name/value pairs doesn't matter; this JSON is equivalent to the one above:

 

{
  "species": "porcupine",
  "name": "Parker"
}

 

The values don't need to be text like "Parker"; they can also be numbers, booleans, collections, or more JSON objects. This allows you to have objects within objects.

 

Here's a more complete description of the Quilled Crusader that uses all of the JSON data types:

 

{
  "name": "Parker",
  "species": "porcupine",
  "occupation": "mascot",
  "motto": "Sharing is caring",
  "centimeters": 75,
  "kilograms": 28.5,
  "quills": 3.0e+4,
  "friendly": true,
  "bossy": false,
  "nicknames": [
    "Quilled Crusader",
    "Spike"
  ],
  "classification": {
    "kingdom": "animalia",
    "phylum": "chordata",
    "class": "mammalia",
    "order": "rodentia",
    "suborder": "hystricomorpha",
    "infraorder": "hystricognathi"
  },
  "dnaSequence": null
}

These are all name/value pairs, but there are several kinds of values; the next few sections will explain each of them.

 

Geek note: Turning data objects into JSON is called "serialization"; turning JSON back into data objects is called "parsing" or sometimes "deserialization".

Strings (Text)

Strings are just text that's part of the data, such as "Parker" or "rodentia", and they need to be enclosed in double quotes. That seems simple enough, but what if your string has a double quote in it? "Parker says "Sharing is caring"" is not a valid JSON value because the parser thinks the " before Sharing is the end of the string, and then it gets really confused. (Computers are really stupid, aren't they?) So to put a " within a string, you need to "escape" it by preceding it with a \. For example:

 

{
  "name": "Parker",
  "action": "Parker says \"Sharing is caring\""
}

 

As you might expect, this escaping thing is a bit of a slippery slope, as the parser may now be confused by the \ character. So you also have to escape the \ character:

 

{
  "name": "Parker",
  "home": "C:\\Users\\Parker"
}

 

While " and \ are the only characters you need to escape, a number of others are available. You can also insert special characters using Unicode (UTF-16) character codes using the format \uXXXX, but often it's easier to just type Unicode characters in your JSON.

 

{
  "name": "Parker",
  "mood": "😀"
}

Numbers

Numeric values don't get quotes around them. For example, Parker's length and weight are expressed as numbers.

 

{
  "name": "Parker",
  "centimeters": 75,
  "kilograms": 28
}

 

Note that 75 is not the same as "75"; the quotes would indicate the characters 7 and 5 rather than a number.

 

Numbers are in decimal, and can contain a sign, decimal point, and exponent such as:

{
  "quills": 3.0e+4,
  "damage": -10
}

Boolean (True or False)

For boolean values, just use true and false with no quotes.

 

{
  "name": "Parker",
  "friendly": true,
  "bossy": false
}

Objects (name/value pairs)

All the JSON examples in this article so far have consisted of one JSON object with name/value pairs enclosed in a set of curly braces. But you don't need to limit yourself to one object! You can have as many objects as you want as values inside other objects. This nesting allows you to create a hierarchy.

 

{
  "name": "Parker",
  "classification": {
    "kingdom": "animalia",
    "phylum": "chordata",
    "class": "mammalia",
    "order": "rodentia",
    "suborder": "hystricomorpha",
    "infraorder": "hystricognathi"
  }
}

The top-level object has two name/value pairs, "name" and "classification", and the value of "classification" is itself an object with several name/value pairs of its own. This is very convenient for organizing the data and, when combined with arrays, allows creating lists, tables, and all sorts of other data structures.

Arrays (collections)

An array is an ordered set of values enclosed in square braces [ and ] and separated by commas, such as:

{
  "name": "Parker",
  "nicknames": [
    "Quilled Crusader",
    "Spike"
  ]
}

or, more succinctly,

 

{
  "name": "Parker",
  "nicknames": [ "Quilled Crusader", "Spike" ]
}

Mascots could have any number of nicknames or none at all, and an array allows you to list them. Parker's sister Penny doesn't have any nicknames.

 

{
  "name": "Penny",
  "nicknames": []
}

Arrays of objects are especially useful. For example, suppose you wanted to compile a list of Microsoft developer mascots:

 

{
  "mascots": [
    {
      "name": "Bit",
      "species": "raccoon",
      "team": "Microsoft Developer Advocates"
    },
    {
      "name": "G-raffe",
      "species": "giraffe",
      "team": "Microsoft Graph"
    },
    {
      "name": "Parker",
      "species": "porcupine",
      "team": "Microsoft 365 PnP"
    }
  ]
}

Remember that spaces, tabs, and newlines are ignored, so this the same data could be written more compactly like this. Suddenly it starts to look a little bit like a table!

 

{
  "mascots": [
    { "name": "Bit",     "species": "raccoon",  "team": "Microsoft Developer Advocates" },
    { "name": "G-raffe", "species": "giraffe",    "team": "Microsoft Graph" },
    { "name": "Parker",  "species": "porcupine", "team": "Microsoft 365 PnP" }
  ]
}

MIND THE COMMAS! There must be exactly one (1) comma between name/value pairs and array elements. It's really easy to misplace a comma in JSON, especially if you're copying and pasting. Some people like to leave an extra comma after the last name/value pair or array element to make it easier to re-arrange things, but that's cheating; it's not part of the JSON standard and some applications won't accept it.

Dates and other things

Unfortunately, there is no standard way to express a date in JSON. In practice, dates are passed in string values, but different applications use different date formats, which can be a bit maddening at times. The Microsoft Graph API uses ISO 8601 format.

 

Images and other binary objects are rarely included in JSON, but if you wanted to do that you'd need to turn them into strings somehow, perhaps by Base64 encoding them.

Null

To indicate an empty value, use null. For example, Parker hasn't had his DNA sequenced, so there is no value for that in his profile.

 

{
  "name": "Parker",
  "dnaSequence": null
}

Note that [], an empty array, and {}, an empty object, are different than null. They're empty containers whereas null is really nothing at all.

Comments

If only JSON supported comments, we could write much more readable code! Officially there are no comments in JSON, but some products (like the SharePoint Framework) seem to encourage using JavaScript style comments in JSON. It seems harmless but it's not proper JSON, and most applications will choke on them.

 

One trick that's usually OK is to just add a few extra name/value pairs in lieu of comments; most software will simply ignore the extra data. For example:

 

{
  "name": "Parker",
  "classification": {
    "comment": "This is the biological taxonomy",
    "kingdom": "animalia",
    "phylum": "chordata",
    "class": "mammalia",
    "order": "rodentia",
    "suborder": "hystricomorpha",
    "infraorder": "hystricognathi"
  }
}

While it's not recommended, it is legal to have duplicate names in a JavaScript object, so you could have more than one "comment" if you're daring. This is valid JSON:

 

{
  "name": "Parker",
  "comment": "Great mascot but gets a bit prickly at times",
  "comment": "Check out \"Parker's Place\" online apparel shop"
}

Tools

There are a lot of web sites out there that will format and validate your JSON; this one does both.

 

NOTE: Remember to remove any personal or confidential data before using online JSON tools!

Schema support

It's often helpful to impose some structure on your JSON, specifying which name/value pairs are required and what value types they should contain. That's the role of JSON Schema. This allows validating the JSON and offering features such as intellisense.

A JSON Schema describes a specific JSON structure. For example, all animal mascots need to have a name and zero or more nicknames with an optional value for quills, such as:

{
  "name": "Parker",
  "nicknames": [
    "Quilled Crusader",
    "Spike"
  ],
  "quills": 30000
}

This would be expressed in JSON Schema as:

 

{
	"definitions": {},
	"$schema": "http://json-schema.org/draft-07/schema#", 
	"$id": "https://example.com/object1607485037.json", 
	"title": "Root", 
	"type": "object",
	"required": [
		"name",
		"nicknames"
	],
	"properties": {
		"name": {
			"$id": "#root/name", 
			"title": "Name", 
			"type": "string",
			"default": "",
			"examples": [
				"Parker"
			],
			"pattern": "^.*$"
		},
		"nicknames": {
			"$id": "#root/nicknames", 
			"title": "Nicknames", 
			"type": "array",
			"default": [],
			"items":{
				"$id": "#root/nicknames/items", 
				"title": "Items", 
				"type": "string",
				"default": "",
				"examples": [
					"Quilled Crusader"
				],
				"pattern": "^.*$"
			}
		},
		"quills": {
			"$id": "#root/quills", 
			"title": "Quills", 
			"type": "integer",
			"examples": [
				30000
			],
			"default": 0
		}
	}
}

If this looks complicated, don't worry; there are many tools that will generate a schema from sample JSON. This is built into Power Apps and Power Automate, and you can generate a schema online using the JSON Schema Validator and Generator; it was used to generate the schema above.

Why bother with a schema? Well once you have one, you can get syntax checking and intellisense in tools like Visual Studio Code. Power Apps and Power Automate use schemas to determine what name/value pairs to expose as properties in your project, and what data types they should be.

You can add a property to your JSON to indicate the URL of the JSON schema; for example, to indicate that a file is a Microsoft Teams manifest, include this schema URL:

 

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.2/MicrosoftTeams.schema.json"
}

When a $schema property is present, Visual Studio and Visual Studio Code will validate your JSON automatically and provide intellisense. There are a ton of schemas available at https://www.schemastore.org/json/ for you to reference. You can even reference a JSON schema in your own project by just specifying a relative path:

 

{
  "$schema": "./myschema.json"
}

OData

You may notice some name/value pairs in your JSON which look kind of odd and begin with @odata. For example, here's the beginning of the data returned by the Microsoft Graph call https://graph.microsoft.com/v1.0/me/messages (returns messages in the user's inbox):

 

{
  "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('19671429-1359-457f-bfc1-1be1ee65d4d9')/messages",
  "@odata.nextLink": "https://graph.microsoft.com/v1.0/me/messages?$skip=10",
  "value": [
      {
          "@odata.type": "#microsoft.graph.eventMessage",
          "@odata.etag": "W/\"DQAAABYAAADcd/V5PKGOSLpB9pjjNuVqAALT5+Dw\"",
          "id": "AAMkADIxMjk0NDNjLTJmNWItNDYzNy04MmQ2LTQyMjhkM2FjOWE3MQBGAAAAAAA7bH43fGymSJWqX6oeXPByBwDcd-V5PKGOSLpB9pjjNuVqAAAAAAEMAADcd-V5PKGOSLpB9pjjNuVqAALV0JNVAAA=",
          "createdDateTime": "2020-12-16T00:14:19Z",
          ...

 

OData is a standard for doing Create, Read, Update, and Delete (CRUD) operations on tabular data using a REST web service, and the Microsoft Graph uses it where appropriate. A folder of email messages is easily expressed as tabular data, so it's no surprise that the Graph uses OData to work with them.

 

The name/value pairs beginning with @odata. are OData control information used to control the flow of data. For example the value of @odata.nextLink is the URL to retrive the next set of rows in a large dataset. You can find details on all the OData Control Information here in the OData documentation.

JSON and JavaScript

Although JSON stands for "JavaScript Object Notation", and was inspired by the format JavaScript uses for object literals, they are not the same. Indeed, JSON is intended to be language independent. Some major differences between JSON and JavaScript are:

 

  • In a JavaScript object literal, the names only need to be enclosed in quotes if they are reserved words like for or if in JavaScript. Furthermore, you can use either single or double quotes. In JSON, names always need to be enclosed in double quotes.
  • JavaScript strings can be contained in single or double quotes; JSON strings must be contained in double quotes
  • JavaScript numbers can be in octal (using a leading 0) or hexadecimal (using a leading 0x) as well as decimal; JSON numbers must be in decimal.
  • JavaScript objects can contain values such as dates, regular expressions, and HTML elements, whereas JSON values are limited to strings, numbers, boolean, objects, arrays, and null.
  • JavaScript allows comments; JSON does not.

Bottom line: all JSON objects are valid JavaScript object literals but not all JavaScript object literals are valid JSON.

 

To convert between JSON and objects, use the JSON object that's built into JavaScript. This is preferable to using eval which is prone to security issues.

 

To convert JSON to a JavaScript object:

 

var json = '{"name": "Parker"}';
var o = JSON.parse(json);

console.log(o.name); // Parker

 

To convert a JavaScript object to JSON:

 

var o = new Object();
o.name = "Parker";
var json = JSON.stringify(o);

console.log(json);  // {"name":"Parker"}

 

When you make a REST call, you end up using JSON as well. Here's a call to the Microsoft Graph:

 

// Assume Parker has logged in and a variable called accessToken contains
// a valid Azure AD access token for Parker to call the Microsoft Graph
const response = await fetch("https://graph.microsoft.com/v1.0/me/",
    {
        method: 'GET',
        headers: {
            "accept": "application/json",
            "authorization": "bearer " + accessToken,
        }
    });

if (response.ok) {
    const profile = await response.json();
    const name = profile.displayName;   // Parker
}

 

Notice that to ask the service for a JSON response, the HTTP header is set to accept "application/json", which is the MIME type for JSON. And the response object returned by fetch() has a json() function built right in to turn the returned JSON into a JavaScript object.

Conclusion

Learning to work with JSON is an important skill for both low-code and full stack developers, as well as for many IT Pro tasks. Here's hoping this article has helped you to understand and use JSON in your next project!

 

(This article is cross-posted here on the author's blog)

11 Comments
%3CLINGO-SUB%20id%3D%22lingo-sub-2119761%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2119761%22%20slang%3D%22en-US%22%3E%3CP%20data-unlink%3D%22true%22%3EFantastic%20article%20and%20very%20helpful!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2049369%22%20slang%3D%22en-US%22%3EIntroduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2049369%22%20slang%3D%22en-US%22%3E%3CP%3EIt%20seems%20like%20JSON%20is%20everywhere%20these%20days.%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fadaptivecards.io%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAdaptive%20cards%3C%2FA%3E%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fmicrosoftteams%2Fplatform%2Fresources%2Fschema%2Fmanifest-schema%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EMicrosoft%20Teams%20app%20manifests%3C%2FA%3E%2C%20and%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fsharepoint%2Fdev%2Fdeclarative-customization%2Fcolumn-formatting%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ESharePoint%20list%20formats%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eare%20all%20written%20in%20JSON.%20And%20JSON%20is%20the%20de-facto%20standard%20for%20REST%20APIs%20like%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fgraph%2Foverview%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EMicrosoft%20Graph%3C%2FA%3E%3B%20you%20can't%20make%20a%20call%20without%20it.%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fpowerapps%2Fmaker%2Fcanvas-apps%2Ffunctions%2Ffunction-json%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPower%20Apps%3C%2FA%3E%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fpower-automate%2Fdata-operations%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPower%20Automate%3C%2FA%3E%2C%20and%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fpower-query%2Fconnectors%2Fjson%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPower%20BI%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ecan%20all%20handle%20JSON%20too.%20It%20really%20is%20everywhere%20except%2C%20it%20seems%2C%20in%20older%20products%20which%20were%20written%20when%20XML%20was%20king.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20intent%20of%20this%20article%20is%20to%20teach%20you%20what%20you%20need%20to%20know%20to%20use%20JSON%20in%20typical%20IT%2C%20low-code%2C%20or%20JavaScript%20development%20scenarios.%20It's%20organized%20in%20order%20from%20simple%20to%20complex%3B%20if%20you%20don't%20need%20some%20sections%2C%20just%20skip%20over%20them%3B%20you%20can%20always%20come%20back%20and%20read%20them%20later!%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22AdaptiveCardJSON.png%22%20style%3D%22width%3A%20999px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F245271i2E8CD8FAF7FA3C64%2Fimage-size%2Flarge%3Fv%3D1.0%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22AdaptiveCardJSON.png%22%20alt%3D%22AdaptiveCardJSON.png%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3BWorking%20with%20JSON%20in%20the%20%3CA%20title%3D%22Adaptive%20Card%20Designer%22%20href%3D%22https%3A%2F%2Fadaptivecards.io%2Fdesigner%2F%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3EAdaptive%20Card%20Designer%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%20id%3D%22toc-hId--552974090%22%3E%3CA%20id%3D%22user-content-what-is-json%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23what-is-json%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EWhat%20is%20JSON%3F%3C%2FH2%3E%0A%3CP%3EJSON%20is%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22http%3A%2F%2Fwww.ecma-international.org%2Fpublications%2Ffiles%2FECMA-ST%2FECMA-404.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Estandard%20format%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efor%20representing%20structured%20data%20as%20text.%20JSON%20is%20commonly%20used%20to%20store%20data%20in%20text%20files%20and%20to%20exchange%20data%20between%20programs%20over%20a%20network.%20JSON%20files%20usually%20have%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E.json%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efilename%20extension.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CBLOCKQUOTE%3E%0A%3CP%3EGeek%20Note%3A%20JSON%20serves%20more%20or%20less%20the%20same%20purpose%20as%20XML%20(eXtensible%20Markup%20Language)%20but%20it's%20shorter%20and%20easier%20to%20read.%20CSV%20format%20serves%20a%20similar%20purpose%20as%20well%2C%20but%20it's%20not%20a%20standard%20so%20the%20details%20tend%20vary%2C%20and%20it%20can%20only%20store%20tables%20(rows%20and%20columns)%20of%20data.%3C%2FP%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CP%3EJSON%20data%20is%20organized%20as%20%22objects%22%20which%20contain%20name%2Fvalue%20pairs.%20This%20example%20is%20the%20first%20step%20toward%20building%20a%20profile%20for%20Parker%2C%20the%20PnP%20mascot%2C%20who%20has%20kindly%20agreed%20to%20share%20personal%20information%20for%20this%20article.%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%20%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EJSON%20objects%20always%20begin%20with%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%7B%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20end%20with%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%7D%3C%2FCODE%3E%3B%20the%20very%20shortest%20valid%20JSON%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%7B%7D%3C%2FCODE%3E%2C%20represents%20an%20empty%20object.%20The%20JSON%20example%20above%20contains%20a%20single%20name%2Fvalue%20pair%3B%20the%20name%20is%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Ename%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20the%20value%20is%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22Parker%22%3C%2FCODE%3E.%20As%20you%20can%20see%2C%20the%20name%20and%20value%20are%20separated%20by%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%3A%3C%2FCODE%3E.%20Names%20are%20case%20sensitive%20and%20need%20to%20be%20enclosed%20in%20double%20quotes.%20In%20this%20case%2C%20since%20%22Parker%22%20is%20a%20text%20value%2C%20it's%20enclosed%20in%20double%20quotes%20as%20well.%20Spaces%2C%20tabs%2C%20and%20newlines%20are%20ignored%20in%20JSON%2C%20but%20are%20helpful%20for%20readability.%3C%2FP%3E%0A%3CP%3EThe%20values%20can%20be%20simple%20things%20like%20text%20strings%20or%20numbers%2C%20collections%20of%20values%20(arrays)%2C%20or%20more%20objects%20containing%20their%20own%20name%2Fvalue%20pairs.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20you%20want%20to%20put%20more%20than%20one%20name%2Fvalue%20pair%20in%20your%20JSON%2C%20separate%20them%20with%20commas%20like%20this%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eporcupine%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3ENote%20that%20the%20order%20of%20the%20name%2Fvalue%20pairs%20doesn't%20matter%3B%20this%20JSON%20is%20equivalent%20to%20the%20one%20above%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eporcupine%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20values%20don't%20need%20to%20be%20text%20like%20%22Parker%22%3B%20they%20can%20also%20be%20numbers%2C%20booleans%2C%20collections%2C%20or%20more%20JSON%20objects.%20This%20allows%20you%20to%20have%20objects%20within%20objects.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EHere's%20a%20more%20complete%20description%20of%20the%20Quilled%20Crusader%20that%20uses%20all%20of%20the%20JSON%20data%20types%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eporcupine%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eoccupation%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emascot%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emotto%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ESharing%20is%20caring%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ecentimeters%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E75%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ekilograms%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E28.5%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Equills%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E3.0e%2B4%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Efriendly%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3Etrue%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ebossy%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3Efalse%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EQuilled%20Crusader%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ESpike%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%5D%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eclassification%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ekingdom%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eanimalia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ephylum%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Echordata%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eclass%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emammalia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eorder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Erodentia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Esuborder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehystricomorpha%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Einfraorder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehystricognathi%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%7D%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EdnaSequence%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3Enull%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EThese%20are%20all%20name%2Fvalue%20pairs%2C%20but%20there%20are%20several%20kinds%20of%20values%3B%20the%20next%20few%20sections%20will%20explain%20each%20of%20them.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CBLOCKQUOTE%3E%0A%3CP%3EGeek%20note%3A%20Turning%20data%20objects%20into%20JSON%20is%20called%20%22serialization%22%3B%20turning%20JSON%20back%20into%20data%20objects%20is%20called%20%22parsing%22%20or%20sometimes%20%22deserialization%22.%3C%2FP%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CH2%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%20id%3D%22toc-hId-1934538743%22%3E%3CA%20id%3D%22user-content-strings-text%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23strings-text%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EStrings%20(Text)%3C%2FH2%3E%0A%3CP%3EStrings%20are%20just%20text%20that's%20part%20of%20the%20data%2C%20such%20as%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22Parker%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eor%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22rodentia%22%3C%2FCODE%3E%2C%20and%20they%20need%20to%20be%20enclosed%20in%20double%20quotes.%20That%20seems%20simple%20enough%2C%20but%20what%20if%20your%20string%20has%20a%20double%20quote%20in%20it%3F%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22Parker%20says%20%22Sharing%20is%20caring%22%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20not%20a%20valid%20JSON%20value%20because%20the%20parser%20thinks%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ebefore%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3ESharing%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20the%20end%20of%20the%20string%2C%20and%20then%20it%20gets%20really%20confused.%20(Computers%20are%20really%20stupid%2C%20aren't%20they%3F)%20So%20to%20put%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ewithin%20a%20string%2C%20you%20need%20to%20%22escape%22%20it%20by%20preceding%20it%20with%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5C%3C%2FCODE%3E.%20For%20example%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eaction%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%20says%20%3CSPAN%20class%3D%22pl-cce%22%3E%5C%22%3C%2FSPAN%3ESharing%20is%20caring%3CSPAN%20class%3D%22pl-cce%22%3E%5C%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20you%20might%20expect%2C%20this%20escaping%20thing%20is%20a%20bit%20of%20a%20slippery%20slope%2C%20as%20the%20parser%20may%20now%20be%20confused%20by%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5C%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Echaracter.%20So%20you%20also%20have%20to%20escape%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5C%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Echaracter%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehome%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EC%3A%3CSPAN%20class%3D%22pl-cce%22%3E%5C%5C%3C%2FSPAN%3EUsers%3CSPAN%20class%3D%22pl-cce%22%3E%5C%5C%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhile%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5C%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eare%20the%20only%20characters%20you%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3Eneed%3C%2FEM%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20escape%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdeveloppaper.com%2Fescape-and-unicode-encoding-in-json-serialization%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ea%20number%20of%20others%20are%20available%3C%2FA%3E.%20You%20can%20also%20insert%20special%20characters%20using%20Unicode%20(UTF-16)%20character%20codes%20using%20the%20format%20%5CuXXXX%2C%20but%20often%20it's%20easier%20to%20just%20type%20Unicode%20characters%20in%20your%20JSON.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emood%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3Agrinning_face%3A%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CH2%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%20id%3D%22toc-hId-127084280%22%3E%3CA%20id%3D%22user-content-numbers%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23numbers%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3ENumbers%3C%2FH2%3E%0A%3CP%3ENumeric%20values%20don't%20get%20quotes%20around%20them.%20For%20example%2C%20Parker's%20length%20and%20weight%20are%20expressed%20as%20numbers.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ecentimeters%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E75%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ekilograms%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E28%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENote%20that%2075%20is%20not%20the%20same%20as%20%2275%22%3B%20the%20quotes%20would%20indicate%20the%20characters%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E7%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E5%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Erather%20than%20a%20number.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENumbers%20are%20in%20decimal%2C%20and%20can%20contain%20a%20sign%2C%20decimal%20point%2C%20and%20exponent%20such%20as%3A%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Equills%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E3.0e%2B4%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Edamage%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E-10%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CH2%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%20id%3D%22toc-hId--1680370183%22%3E%3CA%20id%3D%22user-content-boolean-true-or-false%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23boolean-true-or-false%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EBoolean%20(True%20or%20False)%3C%2FH2%3E%0A%3CP%3EFor%20boolean%20values%2C%20just%20use%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Etrue%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Efalse%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ewith%20no%20quotes.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Efriendly%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3Etrue%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ebossy%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3Efalse%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CH2%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%20id%3D%22toc-hId-807142650%22%3E%3CA%20id%3D%22user-content-objects-namevalue-pairs%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23objects-namevalue-pairs%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EObjects%20(name%2Fvalue%20pairs)%3C%2FH2%3E%0A%3CP%3EAll%20the%20JSON%20examples%20in%20this%20article%20so%20far%20have%20consisted%20of%20one%20JSON%20object%20with%20name%2Fvalue%20pairs%20enclosed%20in%20a%20set%20of%20curly%20braces.%20But%20you%20don't%20need%20to%20limit%20yourself%20to%20one%20object!%20You%20can%20have%20as%20many%20objects%20as%20you%20want%20as%20values%20inside%20other%20objects.%20This%20nesting%20allows%20you%20to%20create%20a%20hierarchy.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eclassification%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ekingdom%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eanimalia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ephylum%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Echordata%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eclass%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emammalia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eorder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Erodentia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Esuborder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehystricomorpha%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Einfraorder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehystricognathi%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%7D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EThe%20top-level%20object%20has%20two%20name%2Fvalue%20pairs%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22name%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22classification%22%3C%2FCODE%3E%2C%20and%20the%20value%20of%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22classification%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20itself%20an%20object%20with%20several%20name%2Fvalue%20pairs%20of%20its%20own.%20This%20is%20very%20convenient%20for%20organizing%20the%20data%20and%2C%20when%20combined%20with%20arrays%2C%20allows%20creating%20lists%2C%20tables%2C%20and%20all%20sorts%20of%20other%20data%20structures.%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%20id%3D%22toc-hId--1000311813%22%3E%3CA%20id%3D%22user-content-arrays-collections%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23arrays-collections%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EArrays%20(collections)%3C%2FH2%3E%0A%3CP%3EAn%20array%20is%20an%20ordered%20set%20of%20values%20enclosed%20in%20square%20braces%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5B%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5D%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20separated%20by%20commas%2C%20such%20as%3A%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EQuilled%20Crusader%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ESpike%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%5D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3Eor%2C%20more%20succinctly%2C%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EQuilled%20Crusader%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ESpike%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%20%5D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EMascots%20could%20have%20any%20number%20of%20nicknames%20or%20none%20at%20all%2C%20and%20an%20array%20allows%20you%20to%20list%20them.%20Parker's%20sister%20Penny%20doesn't%20have%20any%20nicknames.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EPenny%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%5D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EArrays%20of%20objects%20are%20especially%20useful.%20For%20example%2C%20suppose%20you%20wanted%20to%20compile%20a%20list%20of%20Microsoft%20developer%20mascots%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emascots%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EBit%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eraccoon%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eteam%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EMicrosoft%20Developer%20Advocates%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EG-raffe%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Egiraffe%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eteam%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EMicrosoft%20Graph%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%20%20%7D%2C%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eporcupine%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eteam%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EMicrosoft%20365%20PnP%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%20%20%7D%0A%20%20%5D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3ERemember%20that%20spaces%2C%20tabs%2C%20and%20newlines%20are%20ignored%2C%20so%20this%20the%20same%20data%20could%20be%20written%20more%20compactly%20like%20this.%20Suddenly%20it%20starts%20to%20look%20a%20little%20bit%20like%20a%20table!%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emascots%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%7B%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EBit%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eraccoon%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eteam%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EMicrosoft%20Developer%20Advocates%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%20%7D%2C%0A%20%20%20%20%7B%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EG-raffe%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Egiraffe%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eteam%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EMicrosoft%20Graph%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%20%7D%2C%0A%20%20%20%20%7B%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Especies%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eporcupine%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eteam%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EMicrosoft%20365%20PnP%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%20%7D%0A%20%20%5D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CBLOCKQUOTE%3E%0A%3CP%3EMIND%20THE%20COMMAS!%20There%20must%20be%20exactly%20one%20(1)%20comma%20between%20name%2Fvalue%20pairs%20and%20array%20elements.%20It's%20really%20easy%20to%20misplace%20a%20comma%20in%20JSON%2C%20especially%20if%20you're%20copying%20and%20pasting.%20Some%20people%20like%20to%20leave%20an%20extra%20comma%20after%20the%20last%20name%2Fvalue%20pair%20or%20array%20element%20to%20make%20it%20easier%20to%20re-arrange%20things%2C%20but%20that's%20cheating%3B%20it's%20not%20part%20of%20the%20JSON%20standard%20and%20some%20applications%20won't%20accept%20it.%3C%2FP%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CH2%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%20id%3D%22toc-hId-1487201020%22%3E%3CA%20id%3D%22user-content-dates-and-other-things%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23dates-and-other-things%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EDates%20and%20other%20things%3C%2FH2%3E%0A%3CP%3EUnfortunately%2C%20there%20is%20no%20standard%20way%20to%20express%20a%20date%20in%20JSON.%20In%20practice%2C%20dates%20are%20passed%20in%20string%20values%2C%20but%20different%20applications%20use%20different%20date%20formats%2C%20which%20can%20be%20a%20bit%20maddening%20at%20times.%20The%20Microsoft%20Graph%20API%20uses%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fwww.w3.org%2FTR%2FNOTE-datetime%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EISO%208601%20format%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EImages%20and%20other%20binary%20objects%20are%20rarely%20included%20in%20JSON%2C%20but%20if%20you%20wanted%20to%20do%20that%20you'd%20need%20to%20turn%20them%20into%20strings%20somehow%2C%20perhaps%20by%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FBase64%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EBase64%20encoding%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ethem.%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%20id%3D%22toc-hId--320253443%22%3E%3CA%20id%3D%22user-content-null%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23null%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3ENull%3C%2FH2%3E%0A%3CP%3ETo%20indicate%20an%20empty%20value%2C%20use%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Enull%3C%2FCODE%3E.%20For%20example%2C%20Parker%20hasn't%20had%20his%20DNA%20sequenced%2C%20so%20there%20is%20no%20value%20for%20that%20in%20his%20profile.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EdnaSequence%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3Enull%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3ENote%20that%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%5B%5D%3C%2FCODE%3E%2C%20an%20empty%20array%2C%20and%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%7B%7D%3C%2FCODE%3E%2C%20an%20empty%20object%2C%20are%20different%20than%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Enull%3C%2FCODE%3E.%20They're%20empty%20containers%20whereas%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Enull%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20really%20nothing%20at%20all.%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%20id%3D%22toc-hId--2127707906%22%3E%3CA%20id%3D%22user-content-comments%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23comments%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EComments%3C%2FH2%3E%0A%3CP%3EIf%20only%20JSON%20supported%20comments%2C%20we%20could%20write%20much%20more%20readable%20code!%20Officially%20there%20are%20no%20comments%20in%20JSON%2C%20but%20some%20products%20(like%20the%20SharePoint%20Framework)%20seem%20to%20encourage%20using%20JavaScript%20style%20comments%20in%20JSON.%20It%20seems%20harmless%20but%20it's%20not%20proper%20JSON%2C%20and%20most%20applications%20will%20choke%20on%20them.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EOne%20trick%20that's%20usually%20OK%20is%20to%20just%20add%20a%20few%20extra%20name%2Fvalue%20pairs%20in%20lieu%20of%20comments%3B%20most%20software%20will%20simply%20ignore%20the%20extra%20data.%20For%20example%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eclassification%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ecomment%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EThis%20is%20the%20biological%20taxonomy%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ekingdom%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eanimalia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ephylum%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Echordata%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eclass%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Emammalia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eorder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Erodentia%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Esuborder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehystricomorpha%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Einfraorder%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehystricognathi%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%7D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EWhile%20it's%20not%20recommended%2C%20it%20is%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc8259%23section-4%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Elegal%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eto%20have%20duplicate%20names%20in%20a%20JavaScript%20object%2C%20so%20you%20could%20have%20more%20than%20one%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%22comment%22%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eif%20you're%20daring.%20This%20is%20valid%20JSON%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ecomment%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EGreat%20mascot%20but%20gets%20a%20bit%20prickly%20at%20times%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ecomment%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ECheck%20out%20%3CSPAN%20class%3D%22pl-cce%22%3E%5C%22%3C%2FSPAN%3EParker's%20Place%3CSPAN%20class%3D%22pl-cce%22%3E%5C%22%3C%2FSPAN%3E%20online%20apparel%20shop%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CH2%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%20id%3D%22toc-hId-359804927%22%3E%3CA%20id%3D%22user-content-tools%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23tools%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3ETools%3C%2FH2%3E%0A%3CP%3EThere%20are%20a%20lot%20of%20web%20sites%20out%20there%20that%20will%20format%20and%20validate%20your%20JSON%3B%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fjsonformatter.org%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ethis%20one%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Edoes%20both.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CBLOCKQUOTE%3E%0A%3CP%3ENOTE%3A%20Remember%20to%20remove%20any%20personal%20or%20confidential%20data%20before%20using%20online%20JSON%20tools!%3C%2FP%3E%0A%3C%2FBLOCKQUOTE%3E%0A%3CH2%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%20id%3D%22toc-hId-226120203%22%3E%3CA%20id%3D%22user-content-schema-support%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23schema-support%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3ESchema%20support%3C%2FH2%3E%0A%3CP%3EIt's%20often%20helpful%20to%20impose%20some%20structure%20on%20your%20JSON%2C%20specifying%20which%20name%2Fvalue%20pairs%20are%20required%20and%20what%20value%20types%20they%20should%20contain.%20That's%20the%20role%20of%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EJSON%20Schema%3C%2FA%3E.%20This%20allows%20validating%20the%20JSON%20and%20offering%20features%20such%20as%20intellisense.%3C%2FP%3E%0A%3CP%3EA%20JSON%20Schema%20describes%20a%20specific%20JSON%20structure.%20For%20example%2C%20all%20animal%20mascots%20need%20to%20have%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Ename%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eand%20zero%20or%20more%20nicknames%20with%20an%20optional%20value%20for%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Equills%3C%2FCODE%3E%2C%20such%20as%3A%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EQuilled%20Crusader%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ESpike%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%5D%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Equills%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E30000%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EThis%20would%20be%20expressed%20in%20JSON%20Schema%20as%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Edefinitions%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%7D%2C%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24schema%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehttp%3A%2F%2Fjson-schema.org%2Fdraft-07%2Fschema%23%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24id%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehttps%3A%2F%2Fexample.com%2Fobject1607485037.json%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etitle%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ERoot%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etype%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eobject%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Erequired%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%5D%2C%0A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eproperties%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ename%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24id%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%23root%2Fname%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etitle%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EName%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etype%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Estring%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Edefault%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eexamples%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EParker%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%20%5D%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Epattern%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%5E.*%24%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%7D%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Enicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24id%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%23root%2Fnicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etitle%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3ENicknames%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etype%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Earray%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Edefault%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%5D%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eitems%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%7B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24id%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%23root%2Fnicknames%2Fitems%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etitle%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EItems%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etype%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Estring%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Edefault%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eexamples%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EQuilled%20Crusader%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%20%20%5D%2C%0A%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Epattern%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%5E.*%24%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%20%20%20%7D%0A%20%20%7D%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Equills%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%7B%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24id%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%23root%2Fquills%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etitle%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EQuills%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%20%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Etype%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Einteger%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eexamples%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%3CSPAN%20class%3D%22pl-c1%22%3E30000%3C%2FSPAN%3E%0A%20%20%20%5D%2C%0A%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Edefault%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-c1%22%3E0%3C%2FSPAN%3E%0A%20%20%7D%0A%20%7D%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EIf%20this%20looks%20complicated%2C%20don't%20worry%3B%20there%20are%20many%20tools%20that%20will%20generate%20a%20schema%20from%20sample%20JSON.%20This%20is%20built%20into%20Power%20Apps%20and%20Power%20Automate%2C%20and%20you%20can%20generate%20a%20schema%20online%20using%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fextendsclass.com%2Fjson-schema-validator.html%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EJSON%20Schema%20Validator%20and%20Generator%3C%2FA%3E%3B%20it%20was%20used%20to%20generate%20the%20schema%20above.%3C%2FP%3E%0A%3CP%3EWhy%20bother%20with%20a%20schema%3F%20Well%20once%20you%20have%20one%2C%20you%20can%20get%20syntax%20checking%20and%20intellisense%20in%20tools%20like%20Visual%20Studio%20Code.%20Power%20Apps%20and%20Power%20Automate%20use%20schemas%20to%20determine%20what%20name%2Fvalue%20pairs%20to%20expose%20as%20properties%20in%20your%20project%2C%20and%20what%20data%20types%20they%20should%20be.%3C%2FP%3E%0A%3CP%3EYou%20can%20add%20a%20property%20to%20your%20JSON%20to%20indicate%20the%20URL%20of%20the%20JSON%20schema%3B%20for%20example%2C%20to%20indicate%20that%20a%20file%20is%20a%20Microsoft%20Teams%20manifest%2C%20include%20this%20schema%20URL%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24schema%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehttps%3A%2F%2Fdeveloper.microsoft.com%2Fen-us%2Fjson-schemas%2Fteams%2Fv1.2%2FMicrosoftTeams.schema.json%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3EWhen%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%24schema%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eproperty%20is%20present%2C%20Visual%20Studio%20and%20Visual%20Studio%20Code%20will%20validate%20your%20JSON%20automatically%20and%20provide%20intellisense.%20There%20are%20a%20ton%20of%20schemas%20available%20at%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fwww.schemastore.org%2Fjson%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.schemastore.org%2Fjson%2F%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efor%20you%20to%20reference.%20You%20can%20even%20reference%20a%20JSON%20schema%20in%20your%20own%20project%20by%20just%20specifying%20a%20relative%20path%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%24schema%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E.%2Fmyschema.json%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%0A%7D%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CH2%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%20id%3D%22toc-hId--1581334260%22%3E%3CA%20id%3D%22user-content-odata%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23odata%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EOData%3C%2FH2%3E%0A%3CP%3EYou%20may%20notice%20some%20name%2Fvalue%20pairs%20in%20your%20JSON%20which%20look%20kind%20of%20odd%20and%20begin%20with%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%40odata%3C%2FCODE%3E.%20For%20example%2C%20here's%20the%20beginning%20of%20the%20data%20returned%20by%20the%20Microsoft%20Graph%20call%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%3CA%20href%3D%22https%3A%2F%2Fgraph.microsoft.com%2Fv1.0%2Fme%2Fmessages%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgraph.microsoft.com%2Fv1.0%2Fme%2Fmessages%3C%2FA%3E%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E(returns%20messages%20in%20the%20user's%20inbox)%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-json%22%3E%0A%3CPRE%3E%7B%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%40odata.context%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehttps%3A%2F%2Fgraph.microsoft.com%2Fv1.0%2F%24metadata%23users('19671429-1359-457f-bfc1-1be1ee65d4d9')%2Fmessages%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%40odata.nextLink%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Ehttps%3A%2F%2Fgraph.microsoft.com%2Fv1.0%2Fme%2Fmessages%3F%24skip%3D10%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Evalue%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%5B%0A%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%40odata.type%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%23microsoft.graph.eventMessage%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%40odata.etag%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EW%2F%3CSPAN%20class%3D%22pl-cce%22%3E%5C%22%3C%2FSPAN%3EDQAAABYAAADcd%2FV5PKGOSLpB9pjjNuVqAALT5%2BDw%3CSPAN%20class%3D%22pl-cce%22%3E%5C%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3Eid%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EAAMkADIxMjk0NDNjLTJmNWItNDYzNy04MmQ2LTQyMjhkM2FjOWE3MQBGAAAAAAA7bH43fGymSJWqX6oeXPByBwDcd-V5PKGOSLpB9pjjNuVqAAAAAAEMAADcd-V5PKGOSLpB9pjjNuVqAALV0JNVAAA%3D%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3EcreatedDateTime%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E2020-12-16T00%3A14%3A19Z%3CSPAN%20class%3D%22pl-pds%22%3E%22%3C%2FSPAN%3E%3C%2FSPAN%3E%2C%0A%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-ii%22%3E...%3C%2FSPAN%3E%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fwww.odata.org%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EOData%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20a%20standard%20for%20doing%20Create%2C%20Read%2C%20Update%2C%20and%20Delete%20(CRUD)%20operations%20on%20tabular%20data%20using%20a%20REST%20web%20service%2C%20and%20the%20Microsoft%20Graph%20uses%20it%20where%20appropriate.%20A%20folder%20of%20email%20messages%20is%20easily%20expressed%20as%20tabular%20data%2C%20so%20it's%20no%20surprise%20that%20the%20Graph%20uses%20OData%20to%20work%20with%20them.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20name%2Fvalue%20pairs%20beginning%20with%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%40odata.%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eare%20OData%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CEM%3Econtrol%20information%3C%2FEM%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eused%20to%20control%20the%20flow%20of%20data.%20For%20example%20the%20value%20of%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3E%40odata.nextLink%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eis%20the%20URL%20to%20retrive%20the%20next%20set%20of%20rows%20in%20a%20large%20dataset.%20You%20can%20find%20details%20on%20all%20the%20OData%20Control%20Information%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22http%3A%2F%2Fdocs.oasis-open.org%2Fodata%2Fodata-json-format%2Fv4.0%2Fcos01%2Fodata-json-format-v4.0-cos01.html%23_Toc372793050%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehere%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ein%20the%20OData%20documentation.%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%20id%3D%22toc-hId-906178573%22%3E%3CA%20id%3D%22user-content-json-and-javascript%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23json-and-javascript%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EJSON%20and%20JavaScript%3C%2FH2%3E%0A%3CP%3EAlthough%20JSON%20stands%20for%20%22JavaScript%20Object%20Notation%22%2C%20and%20was%20inspired%20by%20the%20format%20JavaScript%20uses%20for%20object%20literals%2C%20they%20are%20not%20the%20same.%20Indeed%2C%20JSON%20is%20intended%20to%20be%20language%20independent.%20Some%20major%20differences%20between%20JSON%20and%20JavaScript%20are%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3EIn%20a%20JavaScript%20object%20literal%2C%20the%20names%20only%20need%20to%20be%20enclosed%20in%20quotes%20if%20they%20are%20reserved%20words%20like%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Efor%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eor%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Eif%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ein%20JavaScript.%20Furthermore%2C%20you%20can%20use%20either%20single%20or%20double%20quotes.%20In%20JSON%2C%20names%20always%20need%20to%20be%20enclosed%20in%20double%20quotes.%3C%2FLI%3E%0A%3CLI%3EJavaScript%20strings%20can%20be%20contained%20in%20single%20or%20double%20quotes%3B%20JSON%20strings%20must%20be%20contained%20in%20double%20quotes%3C%2FLI%3E%0A%3CLI%3EJavaScript%20numbers%20can%20be%20in%20octal%20(using%20a%20leading%200)%20or%20hexadecimal%20(using%20a%20leading%200x)%20as%20well%20as%20decimal%3B%20JSON%20numbers%20must%20be%20in%20decimal.%3C%2FLI%3E%0A%3CLI%3EJavaScript%20objects%20can%20contain%20values%20such%20as%20dates%2C%20regular%20expressions%2C%20and%20HTML%20elements%2C%20whereas%20JSON%20values%20are%20limited%20to%20strings%2C%20numbers%2C%20boolean%2C%20objects%2C%20arrays%2C%20and%20null.%3C%2FLI%3E%0A%3CLI%3EJavaScript%20allows%20comments%3B%20JSON%20does%20not.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3EBottom%20line%3A%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3Eall%20JSON%20objects%20are%20valid%20JavaScript%20object%20literals%20but%20not%20all%20JavaScript%20object%20literals%20are%20valid%20JSON.%3C%2FSTRONG%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETo%20convert%20between%20JSON%20and%20objects%2C%20use%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3EJSON%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eobject%20that's%20built%20into%20JavaScript.%20This%20is%20preferable%20to%20using%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Eeval%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ewhich%20is%20prone%20to%20security%20issues.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETo%20convert%20JSON%20to%20a%20JavaScript%20object%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-js%22%3E%0A%3CPRE%3E%3CSPAN%20class%3D%22pl-k%22%3Evar%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Ejson%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s%22%3E'%7B%22name%22%3A%20%22Parker%22%7D'%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22pl-k%22%3Evar%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Eo%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3EJSON%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-en%22%3Eparse%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-s1%22%3Ejson%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22pl-smi%22%3Econsole%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-en%22%3Elog%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-s1%22%3Eo%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-c1%22%3Ename%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c%22%3E%2F%2F%20Parker%3C%2FSPAN%3E%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETo%20convert%20a%20JavaScript%20object%20to%20JSON%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-js%22%3E%0A%3CPRE%3E%3CSPAN%20class%3D%22pl-k%22%3Evar%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Eo%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-k%22%3Enew%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-v%22%3EObject%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22pl-s1%22%3Eo%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-c1%22%3Ename%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s%22%3E%22Parker%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22pl-k%22%3Evar%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Ejson%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3EJSON%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-en%22%3Estringify%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-s1%22%3Eo%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22pl-smi%22%3Econsole%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-en%22%3Elog%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-s1%22%3Ejson%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%20%20%3CSPAN%20class%3D%22pl-c%22%3E%2F%2F%20%7B%22name%22%3A%22Parker%22%7D%3C%2FSPAN%3E%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhen%20you%20make%20a%20REST%20call%2C%20you%20end%20up%20using%20JSON%20as%20well.%20Here's%20a%20call%20to%20the%20Microsoft%20Graph%3A%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CDIV%20class%3D%22highlight%20highlight-source-js%22%3E%0A%3CPRE%3E%3CSPAN%20class%3D%22pl-c%22%3E%2F%2F%20Assume%20Parker%20has%20logged%20in%20and%20a%20variable%20called%20accessToken%20contains%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22pl-c%22%3E%2F%2F%20a%20valid%20Azure%20AD%20access%20token%20for%20Parker%20to%20call%20the%20Microsoft%20Graph%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22pl-k%22%3Econst%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Eresponse%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-k%22%3Eawait%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-en%22%3Efetch%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-s%22%3E%22https%3A%2F%2Fgraph.microsoft.com%2Fv1.0%2Fme%2F%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%2C%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22pl-kos%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-c1%22%3Emethod%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E'GET'%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%2C%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-c1%22%3Eheaders%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-kos%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%22accept%22%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%22application%2Fjson%22%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%2C%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-s%22%3E%22authorization%22%3C%2FSPAN%3E%3A%20%3CSPAN%20class%3D%22pl-s%22%3E%22bearer%20%22%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%2B%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3EaccessToken%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%2C%3C%2FSPAN%3E%0A%20%20%20%20%20%20%20%20%3CSPAN%20class%3D%22pl-kos%22%3E%7D%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22pl-kos%22%3E%7D%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%0A%3CSPAN%20class%3D%22pl-k%22%3Eif%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-s1%22%3Eresponse%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-c1%22%3Eok%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-kos%22%3E%7B%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22pl-k%22%3Econst%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Eprofile%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-k%22%3Eawait%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Eresponse%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-en%22%3Ejson%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E(%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E)%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%0A%20%20%20%20%3CSPAN%20class%3D%22pl-k%22%3Econst%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Ename%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-c1%22%3E%3D%3C%2FSPAN%3E%20%3CSPAN%20class%3D%22pl-s1%22%3Eprofile%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E.%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-c1%22%3EdisplayName%3C%2FSPAN%3E%3CSPAN%20class%3D%22pl-kos%22%3E%3B%3C%2FSPAN%3E%20%20%20%3CSPAN%20class%3D%22pl-c%22%3E%2F%2F%20Parker%3C%2FSPAN%3E%0A%3CSPAN%20class%3D%22pl-kos%22%3E%7D%3C%2FSPAN%3E%3C%2FPRE%3E%0A%3C%2FDIV%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ENotice%20that%20to%20ask%20the%20service%20for%20a%20JSON%20response%2C%20the%20HTTP%20header%20is%20set%20to%20accept%20%22application%2Fjson%22%2C%20which%20is%20the%20MIME%20type%20for%20JSON.%20And%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Eresponse%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eobject%20returned%20by%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Efetch()%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ehas%20a%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CCODE%3Ejson()%3C%2FCODE%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efunction%20built%20right%20in%20to%20turn%20the%20returned%20JSON%20into%20a%20JavaScript%20object.%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%20id%3D%22toc-hId--901275890%22%3E%3CA%20id%3D%22user-content-conclusion%22%20class%3D%22anchor%22%20href%3D%22https%3A%2F%2Fgithub.com%2FBobGerman%2FBlogArticles%2Fblob%2Fdev%2FIntro%2520to%2520JSON%2Farticle.md%23conclusion%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%20aria-hidden%3D%22true%22%3E%3C%2FA%3EConclusion%3C%2FH2%3E%0A%3CP%3ELearning%20to%20work%20with%20JSON%20is%20an%20important%20skill%20for%20both%20low-code%20and%20full%20stack%20developers%2C%20as%20well%20as%20for%20many%20IT%20Pro%20tasks.%20Here's%20hoping%20this%20article%20has%20helped%20you%20to%20understand%20and%20use%20JSON%20in%20your%20next%20project!%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E(This%20article%20is%20%3CA%20title%3D%22cross-posted%20here%22%20href%3D%22https%3A%2F%2Fbob1german.com%2F2021%2F01%2F11%2Fintroduction-to-json%2F(opens%2520in%20a%20new%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Ecross-posted%20here%3C%2FA%3E%20on%20the%20author's%20blog)%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2049369%22%20slang%3D%22en-US%22%3E%3CP%3EIt%20seems%20like%20JSON%20is%20everywhere%20these%20days.%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fadaptivecards.io%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAdaptive%20cards%3C%2FA%3E%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fmicrosoftteams%2Fplatform%2Fresources%2Fschema%2Fmanifest-schema%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EMicrosoft%20Teams%20app%20manifests%3C%2FA%3E%2C%20and%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fsharepoint%2Fdev%2Fdeclarative-customization%2Fcolumn-formatting%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ESharePoint%20list%20formats%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Eare%20all%20written%20in%20JSON.%20And%20JSON%20is%20the%20de-facto%20standard%20for%20REST%20APIs%20like%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fgraph%2Foverview%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EMicrosoft%20Graph%3C%2FA%3E%3B%20you%20can't%20make%20a%20call%20without%20it.%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fpowerapps%2Fmaker%2Fcanvas-apps%2Ffunctions%2Ffunction-json%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPower%20Apps%3C%2FA%3E%2C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fpower-automate%2Fdata-operations%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPower%20Automate%3C%2FA%3E%2C%20and%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fpower-query%2Fconnectors%2Fjson%3FWT.mc_id%3Dm365-00000-rogerman%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EPower%20BI%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ecan%20all%20handle%20JSON%20too.%20The%20documentation%20for%20all%20these%20products%20assumes%20you%20already%20know%20JSON%20-%20so%20what%20are%20you%20supposed%20to%20do%20if%20you're%20new%20to%20it%3F%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20article%20will%20to%20teach%20you%20what%20you%20need%20to%20know%20to%20use%20JSON%20in%20typical%20IT%2C%20low-code%2C%20or%20JavaScript%20development%20scenarios.%20It's%20organized%20in%20order%20from%20simple%20to%20complex%3B%20don't%20feel%20like%20you%20need%20to%20read%20the%20whole%20thing!%20You%20can%20always%20come%20back%20when%20you're%20ready%20for%20more!%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2049369%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAdaptive%20Cards%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EGetting%20Started%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EJavaScript%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EJSON%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EPower%20Automate%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EPower%20Platform%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2129361%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2129361%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F18452%22%20target%3D%22_blank%22%3E%40David%20Stein%3C%2FA%3E%26nbsp%3Bfor%20your%20comment!%20Question%3A%20Which%20kind%20of%20content%20would%20you%20like%20to%20read%20here%3F%20the%20Microsoft%20365%20PnP%20Community%20is%20still%20new%20and%20we%20aim%20to%20meet%20your%20needs!%20Any%20feedback%20is%20highly%20appreciated!%20%23SharingIsCaring%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2190483%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2190483%22%20slang%3D%22en-US%22%3E%3CP%3EVery%20useful%20for%20learner's..%20Thanks%20for%20sharing%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2197557%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2197557%22%20slang%3D%22en-US%22%3E%3CP%3Esuper%20useful%20for%20beginners%20!%20Thanks%20!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2239807%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2239807%22%20slang%3D%22en-US%22%3E%3CP%3EVery%20useful.%3CBR%20%2F%3EThank%20you.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319751%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319751%22%20slang%3D%22en-US%22%3E%3CP%3EThank%20you%20for%20this!%20Super%20useful%20even%20for%20advanced%20developers%20who%20have%20occasional%20run-ins%20with%20JSON.%20Bookmarked%20this%20across%20all%20my%20browsers.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2785605%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2785605%22%20slang%3D%22en-US%22%3E%3CP%3EWhat%20a%20well%20written%20article!%20Kudos!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2931453%22%20slang%3D%22en-US%22%3ERe%3A%20Introduction%20to%20JSON%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2931453%22%20slang%3D%22en-US%22%3E%3CP%3Every%20useful%20%3CA%20href%3D%22https%3A%2F%2Fcodecary.com%2F%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Econtent%3C%2FA%3E.%3C%2FP%3E%3CP%3Ethanks%20for%20sharing%3C%2FP%3E%3C%2FLINGO-BODY%3E
Co-Authors
Version history
Last update:
‎Feb 11 2021 08:09 AM
Updated by: