Json-simple-customized-output-streaming

提供:Dev Guides
移動先:案内検索

JSON.simple-カスタマイズされた出力ストリーミング

カスタムクラスに基づいてJSONストリーミング出力をカスタマイズできます。 唯一の要件は、JSONStreamAwareインターフェースを実装することです。

次の例は、上記の概念を示しています。

import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
import java.util.LinkedHashMap;
import java.util.Map;

import org.json.simple.JSONArray;
import org.json.simple.JSONStreamAware;
import org.json.simple.JSONValue;

class JsonDemo {
   public static void main(String[] args) throws IOException {
      JSONArray students = new JSONArray();
      students.add(new Student(1,"Robert"));
      students.add(new Student(2,"Julia"));
      StringWriter out = new StringWriter();
      students.writeJSONString(out);
      System.out.println(out.toString());
   }
}
class Student implements JSONStreamAware {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }
   @Override
   public void writeJSONString(Writer out) throws IOException {
      Map obj = new LinkedHashMap();
      obj.put("name", name);
      obj.put("rollNo", new Integer(rollNo));
      JSONValue.writeJSONString(obj, out);
   }
}

出力

[{name:"Robert",rollNo:1},{name:"Julia",rollNo:2}]