Exemplos de Uso JSON4J JavaTM

O objeto principal, JSONObject, é uma extensão de HashMap. Esse objeto possui dois recursos para manipular o JSON.  O primeiro é uma função estática que analisa uma cadeia JSON e retorna uma instância de JSONObject que representa essa cadeia específica.  A segunda função destina-se a construir uma cadeia JSON inteiramente nova alocando uma nova instância JSONObject e, em seguida, utilizando os métodos de obtenção, colocação e remoção para manipular os atributos.  A função PUT do JSONObject efetua verificação de tipo para assegurar que os objetos na instância JSONObject possuam representações JSON correspondentes.  Os tipos atuais que podem ser colocados ou buscados na obtenção do mapa são os seguintes:

    java.lang.String
    java.lang.Boolean
    java.lang.Number
    com.ibm.json.java.JSONArray
    com.ibm.json.java.JSONObject
    null

É possível, então, serializar qualquer instância de JSONObject construída para uma cadeia JSON, utilizando um dos diversos métodos de serialização.  Com esses métodos, é possível especificar um fluxo de saída, um gravador de saída ou retornar uma cadeia JavaTM de texto JSON e indicar se um formato detalhado (formatado e indentado para capacidade de leitura melhorada) ou compacto (linha única com transmissão eficiente) deve ser usado. Veja os seguintes exemplos de uso:

Exemplos de Uso:
Demo 1:
public void demoJson()
{
   String JSON = "{\"attribute\":\"foo\", \"number\":100.959}";
      try
      {
         JSONObject obj = (JSONObject)JSON.parse(JSON);
         Double dbl = (Double)obj.get("number");
         if (dbl == null || dbl.doubleValue() != 100.959)
         {
            throw new Exception("O valor numérico estava incorreto");
         }

         String str = (String)obj.get("attribute");
         if (dbl == null || !str.equals("foo"))
         {
            throw new Exception("O atributo de cadeia estava incorreto");
         }
         String jsonStr = obj.serialize(true);
         System.out.println(jsonStr);
      }
      catch (Exception ex)
      {
         ex.printStackTrace();
      }
}

     A saída do exemplo anterior é:
   {
     "attribute": "foo",
     "number": 100.959
   }


Demo 2:
public void demoJson()
{
   String JSON = "{\"attribute\":\"foo\", \"number\":100.959}";
      try
      {
         JSONObject obj = JSONObject.parse(JSON);
         Double dbl = (Double)obj.get("number");
         if (dbl == null || dbl.doubleValue() != 100.959)
         {
            throw new Exception("O valor numérico estava incorreto");
         }

         String str = (String)obj.get("attribute");
         if (dbl == null || !str.equals("foo"))
         {
            throw new Exception("O atributo de cadeia estava incorreto");
         }
         String jsonStr = obj.serialize(true);
         System.out.println(jsonStr);
      }
      catch (Exception ex)
      {
         ex.printStackTrace();
      }
}

     A saída do exemplo anterior é:
   {
     "attribute": "foo",
     "number": 100.959
   }


Demo 3:
public void demoJson2()
{
   try
   {
      JSONObject obj = new JSONObject();
      obj.put("attribute", "foo");
      obj.put("number", new Double(100.959));
      String jsonStr = obj.serialize(true);
      System.out.println(jsonStr);
   }
   catch (Exception ex)
   {
      ex.printStackTrace();
   }
}

     A saída do exemplo anterior é:
   {
     "attribute": "foo",
     "number": 100.959
   }

Consulte a documentação da API específica para obter detalhes adicionais.


Termos de Uso | Feedback