Upgrade to Pro — share decks privately, control downloads, hide ads and more …

{"JSON":"The Killer"}

{"JSON":"The Killer"}

Only a killer speaker.

Cássio Botaro

October 19, 2013
Tweet

More Decks by Cássio Botaro

Other Decks in Programming

Transcript

  1. Dicionários { 'chave' : 'valor' } >>> dic = {

    } >>> dic { } >>> dic['chave'] = valor >>> dic['chave' ] 'valor' >>> dic[1] = [1,2,3] >>> dic[1] [1, 2, 3] >>> dic[(0, 0)] = 'centro' >>>dic {1: [1, 2, 3], (0,0): 'centro'} >>> dic[2] = {'chave_in': 'teste'} >>> dic[2]['chave_in'] 'teste'
  2. Acessando valores internos de dicionários >>> dic = { 'status':

    200, 'headers': {'content-type': 'text/plain'}, 'values':[0,0,9,{'intern': 'content'}] } >>> dic['headers'] {'content-type': 'text/plain'} >>> dic['headers']['content-type'] 'text/plain' >>> dic['values' ] [0,0,9,{'intern': 'content'}] >>> dic[0] 0 >>> dic[3] {'intern': 'content'} >>>dic[3]['intern'] 'content' >>>dic['error'] Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyError: 'error'
  3. Por que JSON? ➔ Sintaxe simples, de fácil aprendizado e

    implementação; ➔ Tamanho do arquivo bem menor em relação a outras “linguagens intermediárias”, tais como XML; ➔ Facilidade de desenvolvimento e alto desempenho nas aplicações que o utilizam. ➔ Independente de linguagem ➔ Menos verboso e mais legível que XML
  4. XML é legível para humanos e máquinas. XML é orientado

    a objetos. XML está sendo largamente adotado na indústria de computadores.
  5. JSON é legível para humanos e máquinas. JSON é orientado

    a dados. JSON está sendo largamente adotado na indústria de computadores e na internet.
  6. XML <alunos> <aluno> <nome>Joao</nome> <nota1>7</nota1> <nota2>8</nota2> <nota3>5</nota3> <nota4>10</nota4> </aluno> <aluno>

    <nome>Maria</nome> <nota1>8</nota1> <nota2>6</nota2> <nota3>6</nota3> <nota4>9</nota4> </aluno> <aluno> <nome>Jose</nome> <nota1>5</nota1> <nota2>6</nota2> <nota3>4</nota3> <nota4>5</nota4> </aluno> </alunos>
  7. JSON { "alunos": [ { "nome": "Joao", "notas": [7, 8,

    5, 10] }, { "nome": "Maria", "notas": [8, 6, 6, 9] }, { "nome": "Jose", "notas": [5, 6, 4, 5] } ] }
  8. JSON SCHEMA { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Product", "description": "A product

    from Acme's catalog", "type": "object", "properties": { "id": { "description": "The unique identifier for a product", "type": "integer" }, "name": { "description": "Name of the product", "type": "string" }, "price": { "type": "number", "minimum": 0, "exclusiveMinimum": true } }, "required": ["id", "name", "price"] }
  9. json.dumps >>> import json >>> json_file = json.dumps({'palestra': '{json:the killer}',

    'palestrante': 'cassiobotaro', 'numero': 08 }) >>> print json_file {'palestra': '{json:the killer}', 'palestrante': 'cassiobotaro', 'numero': 08 }
  10. json.loads >>> import json >>> import urllib >>> content =

    urllib.urlopen('http://api.icndb.com/jokes/random').read() >>> json_file = json.loads(content.decode('utf-8')) >>> print json_file { "type": "success", "value": { "id": 535, "joke": "Chuck Norris uses canvas in IE.", "categories": ["nerdy"] } }