Запись JSONObject в файл - PullRequest
       2

Запись JSONObject в файл

7 голосов
/ 14 сентября 2011

Я использую Play framework.У меня есть JSONObject, который имеет структуру, подобную приведенной ниже (как в консоли он напечатан)

{
    "rows_map":{
        "220":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ],
"221":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ],
"222":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ],
"223":["mahesh",
            "outfit:bmtech,app:salesreport,uuname,ffname,llname",
            "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5",
            null
        ]
},
    "columns_map":["Sender",
        "Message Received",
        "Device",
        "Time"
    ]
}

Я хочу записать этот JSONObject в файл.Вот код

String path = "/var/www/html/Prj/public/CacheLayer/Incoming_Cache/CacheFileMgr.cache";

            ObjectOutputStream outputStream = null;
        try{
            outputStream = new ObjectOutputStream(new FileOutputStream(path));
            System.out.println("Start Writings");
                outputStream.writeObject(object);
                outputStream.flush();
                    outputStream.close();
          }catch (Exception e){
          System.err.println("Error: " + e);
          }

Выше не удается успешно записать в файл.Произошла ошибка сериализации.

Ответы [ 2 ]

15 голосов
/ 14 сентября 2011

Вызвать toString для JSONObject, а затем сериализовать строку. Сам JSONObject не сериализуем.

String jsonString = jsonObject.toString();
7 голосов
/ 14 сентября 2011

JSON - это сериализация, она не реализует сериализуемость, просто преобразует ее в строку и сохраняет строку в файл (как текст).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...