immutable javascript json

javascript - immutable js



objetos javascript contra matrices vs JSON (5)

A pesar de googlear y tirar de los pelos, no puedo por mi vida articular la diferencia entre json, objetos y matrices (en javascript). A continuación se muestra cómo he estado utilizando contenedores de datos bidimensionales (temeroso de usar las palabras "array", "object" o "json" aquí). Por favor, dime cuáles son estos dos ejemplos?

//first example: [ {"record_id":1,"name":"Frank"}, {"record_id":2,"name":"Sally"} ] //second example: { "countries": [ {"id":1,"name":"Canada"}, {"id":2,"name":"Mexico"} ], "states": [ "id":1,"name":"Maine"}, {"id":2,"name":"Alaska"} ] }


Bueno, creo que los objetos pueden tener métodos y propiedades mientras que las matrices no pueden. JSON se puede pasar al servidor mientras que la matriz no puede ser, a menos que lo pase como una cadena por POST


JSON es un formato de intercambio de datos textuales. Como su nombre ("JavaScript Object Notation") sugiere, se origina en JS; lo que significa que JSON es en realidad un JavaScript sintácticamente válido. En otras palabras, puede pegar una cadena JSON directamente en su código JS.

Las matrices son objetos especiales. Pueden ser construidos por [] .

Los objetos se pueden construir a través de {} .

Entonces, lo que tiene en su ejemplo son dos cadenas JSON, una que representa una matriz de objetos, la segunda que representa un objeto cuyas propiedades son en sí mismas matrices de objetos.


JSON es una representación de la estructura de datos, no es un objeto o una matriz.

[1,2,3]

es una matriz

{"foo":"bar"}

es un objeto

En tu ejemplo,

[ {"record_id":1,"name":"Frank"}, {"record_id":2,"name":"Sally"} ]

Es una matriz de objetos.

{ "countries": [ {"id":1,"name":"Canada"}, {"id":2,"name":"Mexico"} ], "states": [ {"id":1,"name":"Maine"}, {"id":2,"name":"Alaska"} ] }

Es un objeto que contiene otras matrices y objetos dentro de él.


Utiliza { llaves } para declarar un objeto literal .

Usas [ corchetes ] para declarar un array literal .

Los objetos son colecciones de pares de valores de nombre clave.

Aquí hay un ejemplo de una serie de cadenas:

var a = [ "one", "two", "three" ];

Aquí hay un ejemplo de un objeto simple que representa a una persona:

var personObject = { name: ''Joe'', age: 25, hometown: ''New York'' };


JSON es la JavaScript Object Notation . Esto es simplemente una forma de escribir los tipos de datos de JavaScript. No es un tipo de datos en sí mismo.

Vea a continuación algunos ejemplos de tipos de datos de JavaScript y la notación literal de su creación.

JSON se puede usar para enviar datos desde el servidor al navegador, por ejemplo, porque es fácil para JavaScript analizar una estructura de datos de JavaScript normal.

En su ejemplo, está utilizando listas de objetos y objetos de objetos.

Esta es una lista de 3 objetos vacíos.

[{}, {}, {}]

Esta es una lista de tres registros simples:

var mylist = [ {name: ''John'', age: 24}, {name: ''Bill'', age: 42}, {name: ''Jill'', age: 18}, ]

Se puede acceder de esta manera:

mylist[1].name >>> ''Bill'' mylist[2].age >>> 18

JavaScript tiene varios tipos de datos:

Número

1 100 -2000 123.45

Cuerda

"Hi John" "Message:/nGo Forth"

Booleano

true false

Formación

[1,2,3] [] ["a", "b", 123] ["a", "b", 123, [3,4,5]]

Objeto

{} {a: 10} {mylist: [1,2,3], yourlist: [4,5,6]} {myself: {name: ''me'', age: 10}, yourself: {name: ''you'', age: 20}}