2012-10-22 2 views
3

JSONObject 클래스 org.codehaus.groovy.grails.web.jsonSerializable을 구현하지 않습니다.JSONObject를 Serializable로 변경

응용 프로그램 서버간에 세션 복제를 사용하고 있고 세션에 JSONObject이 저장되면이 객체를 직렬화 할 수 있습니다.

  1. 서브 클래스 Serializable를 구현 JSONObject의 :

    나는 이것을 달성하기 위해 두 가지 옵션이 있습니다.

  2. JSONObject 개체에서 toString() 메서드를 사용하면 세션 중에이 개체를 저장할 수 있습니다.

아무도 사용할 수있는 두 가지 옵션 중 하나를 제안 해주십시오. 그 이유는 무엇입니까?

답변

6

toString 방법은 여기에 사용하기위한 것입니다. 이 메서드는 이미 객체의 JSON 텍스트를 반환합니다.이 텍스트는 전송 또는 저장에 적합합니다.

+0

개체를 세션에 저장하는 동안 toString()을 사용하는 것이 좋지만 세션에서 해당 개체를 다시 가져올 때 문자열을 가져온 다음 String에서 JSONObject를 구성해야합니다. – user1180463

+0

@ user1180463 맞다. 그렇게하기 위해서'JSONObject (java.lang.String string)'생성자를 사용할 수있다. 이것이 직렬화/역 직렬화에 비해 성능에 미치는 영향이 더 적은지는 알 수 없습니다. 두 방법 모두 개체 생성 오버 헤드가 있습니다. –

1

JSON을 직렬화 할 필요가 없습니다. 이미 JSON의 전체 지점과 같은 저장 가능한 형태로되어 있습니다. Grails에는 JSON 파서와 "slurpers"가 모두 준비되어 있습니다. JSON 데이터를 문자열로 저장하고 파서를 사용하여 파일에서 다시 읽습니다.

관련 문제