JavaTM-Beispiele für die Verwendung von JSON4J

Das zentrale Objekt JSONObject ist eine Erweiterung zu HashMap. Dieses Objekt hat zwei Funktionen für die Handhabung von JSON. Die erste Funktion ist statisch. Sie analysiert eine JSON-Zeichenfolge und gibt eine JSONObject-Instanz zurück, die eine bestimmte Zeichenfolge repräsentiert. Die zweite Funktion konstruiert eine vollkommen neue JSON-Zeichenfolge, indem Sie eine neue JSONObject-Instanz anlegt und dann die Attribute mit den Methoden get, put und remove manipuliert. Die Funktion put des JSONObject führt eine Typenprüfung durch, um sicherzustellen, dass es für die Objekte in der JSONObject-Instanz entsprechende JSON-Darstellungen gibt. Derzeit können folgende Typen für die Zuordnung bereitgestellt oder mit get aus der Zuordnung abgerufen werden:

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

Anschließend können Sie die konstruierten JSONObject-Instanzen mit einer der verfügbaren Serialisierungsmethoden in JSON-Zeichenfolgen serialisieren. Mit diesen Methoden können Sie einen Ausgabedatenstrom oder eine Ausgabekomponente angeben oder eine JavaTM-Zeichenfolge des JSON-Textes zurückgeben und angeben, ob ein ausführliches Format (mit Einzügen und Zeilenumbrüchen für bessere Lesbarkeit) oder ein kompaktes Format (einzeilig für eine effiziente Übertragung) verwendet werden soll. Sehen Sie sich folgende Verwendungsbeispiele an:

Verwendungsbeispiele:
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("Numeric value was incorrect");
         }

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

Die Ausgabe für das obige Beispiel sieht wie folgt aus:
   {
     "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("Numeric value was incorrect");
         }

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

Die Ausgabe für das obige Beispiel sieht wie folgt aus:
   {
     "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();
   }
}

Die Ausgabe für das obige Beispiel sieht wie folgt aus:
   {
     "attribute": "foo",
     "number": 100.959
   }

Zusätzliche Datails finden Sie in der API-Dokumentation.


Nutzungsbedingungen | Feedback