JSON4J JavaTM の使用例

コア・オブジェクト JSONObject は、HashMap を拡張したものです。この オブジェクトには、JSON を処理するための 2 つの機能があります。 1 つ目は静的関数で、JSON ストリングを構文解析して、 特定のストリングを表す JSONObject インスタンスを戻します。2 つ目は、 まったく新しい JSON ストリングを構成する機能です。新規 JSONObject インスタンスを 割り当てた後、get、put、および remove の各メソッドを使用して属性を操作することにより、 新しい JSON ストリングを作成します。 JSONObject の PUT 関数はタイプの検査を行って、JSONObject インスタンス内のオブジェクトが、対応する JSON 表現になっていることを確認します。現在、マップに put したり get を介してマップからフェッチしたりできるタイプは、以下のとおりです。

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

次に、いくつかのシリアライズ・メソッドを使用することにより、 構成された JSONObject インスタンスを JSON ストリングにシリアライズできます。  これらのメソッドを使用して、出力ストリーム、書き出しプログラムを指定したり、 JSON テキストの JavaTM ストリングを戻したりすることができます。 また、冗長 (より読みやすくするためにフォーマットおよびインデントされたもの)、 またはコンパクト (単一行で、効率的な転送が可能) のいずれのフォーマットを使用するかを示すことができます。 以下の使用例を参照してください。

使用例:
デモ 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();
      }
}

     前述の例の出力は、次のとおりです。
   {
     "attribute": "foo",
     "number": 100.959
   }


デモ 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();
      }
}

     前述の例の出力は、次のとおりです。
   {
     "attribute": "foo",
     "number": 100.959
   }


デモ 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();
   }
}

     前述の例の出力は、次のとおりです。
   {
     "attribute": "foo",
     "number": 100.959
   }

追加の詳細については、固有の API 資料を参照してください。


ご利用条件 | フィードバック