Java를 사용하여 다음 json 파일을 만들고 있습니다.
JSONObject json = new JSONObject();
JSONArray vertex = new JSONArray();
for (int i = 0; i < num; i++) {
JSONObject usr1 = new JSONObject();
JSONObject usr2 = new JSONObject();
// String na="name"+i
usr1.put("type", "string");
usr1.put("value", "name" + i);
usr2.put("name", usr1);
usr2.put("_id", Integer.toString(i));
usr2.put("_type", "vertex");
// v2.put(usr2);
vertex.put(usr2);
// email
JSONObject usr3 = new JSONObject();
JSONObject usr4 = new JSONObject();
usr3.put("type", "string");
usr3.put("value", "email" + i + "@gmail.com");
usr4.put("email", usr3);
usr4.put("_id", Integer.toString(i + num));
usr4.put("_type", "vertex");
vertex.put(usr4);
}
json.put("vertex", vertex);
num
약 60,000-200,000 이 될 수 있습니다.
그러나 여기에서 나는 자바 객체를 반복해서 만들고 있는데, 이것은 상당히 비쌉니다. 객체 생성을 최소화하고 코드 구조를 너무 많이 변경하고 싶지 않습니다. 코드 구조를 너무 많이 변경하지 않고 어떻게이 작업을 수행 할 수 있습니까?
org.codehaus.jettison.json
패키지의 JSON * 클래스를 사용 하고 있으며 파일에 json 객체를 써야합니다.
중간 객체를 생성하지 않고 빠른 JSON 생성을 JSONWriter
위해 다음을 사용할 수 있습니다.
StringWriter sw = new StringWriter();
JSONWriter writer = new JSONWriter(sw);
writer.object().key("vertex").array();
for (int i = 0; i < num; i++) {
writer
.object() // usr2
.key("name")
.object() // usr1
.key("type").value("string")
.key("value").value("name"+i)
.endObject()
.key("_id").value(Integer.toString(i))
.key("_type").value("vertex")
.endObject()
.object() // usr4
.key("email")
.object() // usr3
.key("type").value("string")
.key("value").value("email"+i+"@gmail.com")
.endObject()
.key("_id").value(Integer.toString(i+num))
.key("_type").value("vertex")
.endObject();
}
writer.endArray().endObject();
String json = sw.toString();
여기서는 StringWriter
중간 JSON 텍스트를 저장하는 데 사용됩니다. 또는 메모리에 전혀 보관하지 않고 파일이나 네트워크 소켓에 직접 쓸 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다