Um ótimo link para interpretação de sintaxe de JSON é este: http://json.parser.online.fr/ qualquer JSON, que este site interpretar OK sem erros, você poderá utilizar no seu código, porém sobre o seu JSON:
[
{ titulo: 'ET', ano: 1982 },
{ titulo: 'Indiana Jones', ano: 1981 }
]
Este JSON acima é incorreto, veja que se colocar ele no json parser online ele acusa erros.
{
"Titulo": "Até que a sorte nos separe",
"segundo": "segundo valor",
"terceiro": "terceiro valor, o ultimo valor não precisa de virgula"
}
Este JSON acima, é correto, ele não acusará erros, porém não deves utiliza-lo porque você precisa denotar um objeto para acessar objeto.propriedade como eu estou fazendo no Array logo abaixo:
Aqui você tem um Array de Objetos "Filme" onde você pode usa-lo para iterar seus filmes.
ObjetoJSON = {
"filme":[
{
"titulo":"Titulo do seu filme",
"segundo":"segundo valor",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula"
},
{
"titulo":"Titulo do seu filme 2",
"segundo":"segundo valor 2",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 2"
},
{
"titulo":"Titulo do seu filme 3",
"segundo":"segundo valor 3",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 3"
}
]
};
ObjetoJSON.filme[0] //seu objeto json do seu filme [0]
ObjetoJSON.filme[0].titulo //seu valor do titulo do filme [0]
ObjetoJSON.filme[0].segundo //o "segundo" valor do filme [0]
ObjetoJSON.filme[0].terceiro// o "terceiro" valor do filme [0]
EDIT:
Para utilizar o JSON dentro de um arquivo da extensão *.json resgatado de um AJAX Request você deve fazer o seguinte:
Utilize o seguinte código JSON (desta vez sem definição por variável) no seu arquivo *.json:
{
"filme":[
{
"titulo":"Titulo do seu filme",
"segundo":"segundo valor",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula"
},
{
"titulo":"Titulo do seu filme 2",
"segundo":"segundo valor 2",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 2"
},
{
"titulo":"Titulo do seu filme 3",
"segundo":"segundo valor 3",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 3"
}
]
}
E use este código javascript para que você entenda o JSON, e depois adapte ele do seu jeito que você usa:
$.ajax({
url: 'js/vendor/testedb.json',
dataType: 'json',
success: function(data) {
console.log('Titulo: ' + data.filme[0].titulo + ' Segundo: ' + data.filme[0].segundo);
},
statusCode: {
404: function() {
alert("some problem");
}
},
});
Answer from Paulo Roberto Rosa on Stack OverflowVideos
Um ótimo link para interpretação de sintaxe de JSON é este: http://json.parser.online.fr/ qualquer JSON, que este site interpretar OK sem erros, você poderá utilizar no seu código, porém sobre o seu JSON:
[
{ titulo: 'ET', ano: 1982 },
{ titulo: 'Indiana Jones', ano: 1981 }
]
Este JSON acima é incorreto, veja que se colocar ele no json parser online ele acusa erros.
{
"Titulo": "Até que a sorte nos separe",
"segundo": "segundo valor",
"terceiro": "terceiro valor, o ultimo valor não precisa de virgula"
}
Este JSON acima, é correto, ele não acusará erros, porém não deves utiliza-lo porque você precisa denotar um objeto para acessar objeto.propriedade como eu estou fazendo no Array logo abaixo:
Aqui você tem um Array de Objetos "Filme" onde você pode usa-lo para iterar seus filmes.
ObjetoJSON = {
"filme":[
{
"titulo":"Titulo do seu filme",
"segundo":"segundo valor",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula"
},
{
"titulo":"Titulo do seu filme 2",
"segundo":"segundo valor 2",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 2"
},
{
"titulo":"Titulo do seu filme 3",
"segundo":"segundo valor 3",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 3"
}
]
};
ObjetoJSON.filme[0] //seu objeto json do seu filme [0]
ObjetoJSON.filme[0].titulo //seu valor do titulo do filme [0]
ObjetoJSON.filme[0].segundo //o "segundo" valor do filme [0]
ObjetoJSON.filme[0].terceiro// o "terceiro" valor do filme [0]
EDIT:
Para utilizar o JSON dentro de um arquivo da extensão *.json resgatado de um AJAX Request você deve fazer o seguinte:
Utilize o seguinte código JSON (desta vez sem definição por variável) no seu arquivo *.json:
{
"filme":[
{
"titulo":"Titulo do seu filme",
"segundo":"segundo valor",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula"
},
{
"titulo":"Titulo do seu filme 2",
"segundo":"segundo valor 2",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 2"
},
{
"titulo":"Titulo do seu filme 3",
"segundo":"segundo valor 3",
"terceiro":"terceiro valor, o ultimo valor não precisa de virgula 3"
}
]
}
E use este código javascript para que você entenda o JSON, e depois adapte ele do seu jeito que você usa:
$.ajax({
url: 'js/vendor/testedb.json',
dataType: 'json',
success: function(data) {
console.log('Titulo: ' + data.filme[0].titulo + ' Segundo: ' + data.filme[0].segundo);
},
statusCode: {
404: function() {
alert("some problem");
}
},
});
Como fui eu que sugeri o JSON e criei a confusão, vou me explicar: o JSON que postei na outra resposta era inválido (já corrigi), pois em JSON as chaves precisam estar entre aspas duplas, assim como valores do tipo String.
Portanto, o arquivo JSON poderia conter exatamente o que o Gabriel Ribeiro sugeriu:
[
{
"Titulo": "Até que a sorte nos separe",
"duracao": "120 min"
},
{
"Titulo": "Matrix",
"duracao": "140 min"
}
]
(removi os caracteres acentuados para evitar problemas, embora sejam válidos.)
Um exemplo em jQuery para obter e usar esses dados via ajax seria:
$.getJSON(url_do_json, function(dados) {
for(var i=0; i<dados.length; i++) {
$(document.body).append('<div>' + dados[i].titulo + ', ' + dados[i].duracao + '</div>');
}
});
Conceito:
JSON, em seu significado teórico é "Javascript Object Notation", do qual nada mais é que o formato mais leve conhecido por mim de transferência/intercâmbio de dados, ele é similar ao XML, e tem a mesma utilidade, mesmo intuito, porém é mais leve, o detalhe é que não necessariamente, apesar do nome, você tem que usa-lo com Javascript. Muitas linguagens hoje em dia dão suporte ao JSON, é meio que um novo método, substituto do antigo e conhecido XML. Ele é muito usado para retornar dados vindos de um servidor utilizando requisições AJAX para atualizar dados em tempo real.
Informações e Exemplos:
Muitas empresas e sistemas conceituados hoje em dia utilizam JSON, como a Google e o Yahoo. Com ele podemos armazenar dados de uma maneira que funciona da seguinte forma:
Temos um objeto JSON simples, ele deve conter uma denotação(que é extremamente recomendado) ou não, como por exemplo:
{"ObjetoPai":"valor"}
Agora vou mostrar um objeto JSON mais complexo com Objetos pai e objeto filho.
{
"ObjetoPai":{
"ObjetoFilho":"valor"
}
}
Podemos ter um Array de objetos filhos, também:
{
"ObjetoPai":[
{
"ObjetoFilho":"valor"
},
{
"ObjetoFilho":"valor"
}
]
}
O JSON pode ser complexo, você pode ter mais de um objeto pai com filhos também, e referente a tipos ele aceita valores inteiros, booleanos, e também strings, como você pode ver:
{
"ObjetoPaiGeral":[
{
"ObjetoSubPai":{
"ObjetoFilho":1
}
},
{
"ObjetoSubPai":{
"ObjetoFilho":true
}
},
{
"ObjetoSubPai":{
"ObjetoFilho":"string"
}
}
]
}
Ele pode ser facilmente armazenado dentro de uma variável como um Objeto, assim tornando fácil a usabilidade do mesmo, podendo acessar valores de forma programática, como por exemplo em Javascript declarando e acessando o ultimo exemplo acima:
var JSONObject = {
"ObjetoPaiGeral":[
{
"ObjetoSubPai":{
"ObjetoFilho":1
}
},
{
"ObjetoSubPai":{
"ObjetoFilho":true
}
},
{
"ObjetoSubPai":{
"ObjetoFilho":"string"
}
}
]
};
Acessando valores:
JSONObject; //objeto geral em si
JSONObject.ObjetoPaiGeral; //array dos sub pais
JSONObject.ObjetoPaiGeral[0]; //acessando o primeiro filho do pai geral
JSONObject.ObjetoPaiGeral[0].ObjetoSubPai; //acessando o objetosubpai do primeiro filho do pai geral
JSONObject.ObjetoPaiGeral[0].ObjetoSubPai.ObjetoFilho; //aqui você tem um valor, que é o valor do objeto filho do sub pai que é filho do pai geral.
//Você pode utilizar o tamanho do Array para fazer um laço de repetição se quiser:
JSONObject.ObjetoPaiGeral.length; //retornará 3.
Atualmente é um dos melhores métodos para resgatar informações do servidor, principalmente em uma aplicação que exige atualização de dados em tempo real.
Você pode aprender mais sobre ele aqui no Site Oficial do JSON.
JSON é um acrônimo para "JavaScript Object Notation", é um formato leve para intercâmbio de dados computacionais. JSON é um subconjunto da notação de objeto de JavaScript, mas seu uso não requer JavaScript exclusivamente.
É uma notação de javascript, que pode ser escrito em um arquivo texto, como por exemplo um arquivo XML. Pode ser usado para a troca de informações através de webservices. Por ser mais leve que o XML, é cada vez mais utilizado.
Join significa junção. Pode ser para unir duas tabelas de um banco de dados, unir textos e etc. É um termo bastante genérico que pode ter significado diferente em cada tecnologia.
http://pt.wikipedia.org/wiki/Json