Skip to main content

Equivalente XPATH para JSON

Trabalhando com estruturas complexas de JSON, eu estava precisando de um biblioteca que executa-se sintaxe equivalente ao XPATH no universo XML porém com estruturas JSON. Nesta pesquisa me deparei com diversas bibliotecas, duas me chamaram a atenção:

Testei primeiro o JSONPath por parecer bem simples mas infelizmente sem sucesso, por exemplo, tentei usar um dos exemplos do site e não funcionou :
$..book[?(@.price<10 data-blogger-escaped-code="">
Para o teste com JSONPath usei o site http://jsonpath.curiousconcept.com/ e também um código meu. Pode ser um erro meu, algo que não entendi, mas o fato é que apos varias tentativas o filtro não funcionava. Obs: versão 0.8.0

Em seguida passei para o Defiant com grata surpresa, além de ser mais completo é mais próximo a sintaxe XPATH, funcionou de primeira.
Abaixo segue um exemplo de estrutura JSON onde se pode testar alguma expressões.


{
   "store": {
      "book": [
         {
            "price": 12.99,
            "title": "Sword of Honour",
            "category": "fiction",
            "author": "Evelyn Waugh"
         },
         {
            "price": 8.99,
            "title": "Moby Dick",
            "category": "fiction",
            "author": "Herman Melville",
            "isbn": "0-553-21311-3"
         },
         {
            "price": 8.95,
            "title": "Sayings of the Century",
            "category": "reference",
            "author": "Nigel Rees"
         },
         {
            "price": 22.99,
            "title": "The Lord of the Rings",
            "category": "fiction",
            "author": "J. R. R. Tolkien",
            "isbn": "0-395-19395-8"
         }
      ],
      "bicycle": {
         "price": 19.95,
         "brand": "Cannondale",
         "color": "red"
      }
   }
}

PATH:


Rezultado:


Comments

Popular posts from this blog

CÓDIGOS UNICODE PARA CARACTERES ESPECIAIS

A/a á \u00e1 à \u00e0 â \u00e2 ã \u00e3 ä \u00e4 Á \u00c1 À \u00c0 Â \u00c2 Ã \u00c3 Ä \u00c4 E/e é \u00e9 è \u00e8 ê \u00ea ê \u00ea É \u00c9 È \u00c8 Ê \u00ca Ë \u00cb I/i í \u00ed ì \u00ec î \u00ee ï \u00ef Í \u00cd Ì \u00cc Î \u00ce Ï \u00cf O/o ó \u00f3 ò \u00f2 ô \u00f4 õ \u00f5 ö \u00f6 Ó \u00d3 Ò \u00d2 Ô \u00d4 Õ \u00d5 Ö \u00d6 U/u ú \u00fa ù \u00f9 û \u00fb ü \u00fc Ú \u00da Ù \u00d9 Û \u00db Consoantes ç \u00e7 Ç \u00c7 ñ \u00f1 Ñ \u00d1 Símbolos & \u0026 ' \u0027 Ʃ \u01a9 ° \u00b0 ª \u00aa ° \u00b0 ➕ \u2795 ➖ \u2796 ➗ \u2797 ✓ \u2713 ✗ \u2717

Parsing XML with namespace in Java

Introduction Yesterday, again, I needed parser a XML stream using Java. Then I went to Google try to find a exemple code. Because I needed the value of two specific fields, TAGs, I decided use XPATH to get directly this values. How ever, I needed do several tried until get a result. Keywords JAVA, XML, NAMESPACE, XML PARSE; Article I will show how to read XML without namespace and after we will read a XML streams with namespaces. This is the first XML that I have used in this example without namespaces <?xml version="1.0" encoding="UTF-8"?> <root>   <head>     <title>My Book</title>   </head>   <bookreview>     <title>This is a book about special girls</title>     <girls>       <girl>         <name>Mata Hari</name>       </girl>       <girl>          <name>Belle de Jour</name>       </girl>       <girl>          <name&

Neurônio Artificial Conceito

Outro dia conversando sobre redes neurais, consciência, inteligência artificial, percebi que estamos tão cercados e acostumados com tecnologia que em muitos cenários já estamos vivenciando a “Era da magia” onde as coisas funcionam mas o conhecimento de como funcionam está se perdendo. As máquinas acabam nos passando a sensação de serem seres vivos, simulando inteligência e comportamentos. Esta postagem descreve o conceito de um neurônio artificial para dar uma base às próximas postagens, porém com uma abordagem mais palpável, sem usar chips, transistores, ou outros elementos tecnológicos que fogem do conhecimento comum. O modelo aqui apresentado é um exercício mental, conceitual, fazendo uma série de simplificações e removendo elementos que só tornariam a visualização mais complexa. Para entender o exemplo descrevo aqui dois elementos: Relé, é um interruptor eletromecânico. A alavanca de contato se movimenta e fecha o circuito quando uma corrente elétrica percorre as espi