Создать объект JSON и преобразовать его в строку в Java - PullRequest
3 голосов
/ 16 апреля 2011

Мне нужно отправить довольно длинный заголовок JSON через сообщение http. В Python было так:

    self.body_header = {
                "client": self.client_name,
                "clientRevision": self.client_version,
                "uuid": str(uuid.uuid4()),
                "session": self.get_sessionid()}

    self.body = {
                "header": self.body_header,
                "country": {"IPR":"1021", "ID":"223", "CC1":"0", "CC2":"0", "CC3":"0", "CC4":"2147483648"},
                "privacy": 1}

Мне нужно сделать что-то подобное в Java, то есть создать каким-то образом структуру JSON, преобразовать ее в строку и отправить по http.

Вопрос в том, как мне этого легко достичь? Какие-нибудь полезные библиотеки? Я знаю, как отправить его, но не знаю, как его построить, а затем создать строку.

Спасибо всем.

Ответы [ 3 ]

3 голосов
/ 16 апреля 2011

Вы можете использовать gson .

Вы можете создать объект Java (POJO) и сериализовать его как JSON, выполнив:

Gson gson = new Gson();
String json = gson.toJson(yourObject);

Затем вы можете отправитьстрока по HTTP.

Если вы не хотите идти по маршруту POJO, вы все равно можете создать структуру JSON, используя JsonElement , JsonArray , JsonObject вGson API.

2 голосов
/ 16 апреля 2011

Мне нравится оригинал org.json

0 голосов
/ 16 апреля 2011

я думаю, что у СТО была похожая дискуссия https://stackoverflow.com/questions/338586/a-better-java-json-library

...