Я хочу, чтобы мой JSON выглядел так:
{
"information": [{
"timestamp": "xxxx",
"feature": "xxxx",
"ean": 1234,
"data": "xxxx"
}, {
"timestamp": "yyy",
"feature": "yyy",
"ean": 12345,
"data": "yyy"
}]
}
Код до сих пор:
import java.util.List;
public class ValueData {
private List<ValueItems> information;
public ValueData(){
}
public List<ValueItems> getInformation() {
return information;
}
public void setInformation(List<ValueItems> information) {
this.information = information;
}
@Override
public String toString() {
return String.format("{information:%s}", information);
}
}
и
public class ValueItems {
private String timestamp;
private String feature;
private int ean;
private String data;
public ValueItems(){
}
public ValueItems(String timestamp, String feature, int ean, String data){
this.timestamp = timestamp;
this.feature = feature;
this.ean = ean;
this.data = data;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
public String getFeature() {
return feature;
}
public void setFeature(String feature) {
this.feature = feature;
}
public int getEan() {
return ean;
}
public void setEan(int ean) {
this.ean = ean;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
@Override
public String toString() {
return String.format("{timestamp:%s,feature:%s,ean:%s,data:%s}", timestamp, feature, ean, data);
}
}
Мне просто не хватает части, как я могу преобразовать Java-объект в JSON с Джексоном:
public static void main(String[] args) {
// CONVERT THE JAVA OBJECT TO JSON HERE
System.out.println(json);
}
Мой вопрос: правильны ли мои занятия? Какой экземпляр мне нужно вызвать и как я могу добиться этого вывода JSON?
Ответы:
Чтобы конвертировать
object
в JSON с Джексоном:источник
object
ДОЛЖНЫ иметь геттеры для всех полей, которые вы хотите включить в свой JSON.Я знаю, что это старый (и я новичок в Java), но я столкнулся с той же проблемой. И ответы были не так ясны для меня, как новичок ... поэтому я решил добавить то, что узнал.
Я использовал стороннюю библиотеку, чтобы помочь в работе:
org.codehaus.jackson
все загрузки для этого можно найти здесь .Для базовой функциональности JSON вам необходимо добавить следующие jar в библиотеки вашего проекта: jackson-mapper-asl и jackson-core-asl
Выберите версию, в которой нуждается ваш проект. (Обычно вы можете использовать последнюю стабильную сборку).
Как только они будут импортированы в библиотеки вашего проекта, добавьте следующие
import
строки в ваш код:С определенным и назначенным объектами java значений, которые вы хотите преобразовать в JSON и вернуть как часть веб-службы RESTful
Результат должен выглядеть так:
{"firstName":"Sample","lastName":"User","email":"sampleU@example.com"}
источник
Это может быть полезно:
источник
просто сделай это
источник
jackson
, а неGson
Вы могли бы сделать это:
источник
Ну, даже принятый ответ не совсем выдает то, о чем просила опера. Он выводит строку JSON, но с
"
экранированными символами. Итак, хотя я могу немного опоздать, я отвечаю, надеясь, что это поможет людям! Вот как я это делаю:источник
Примечание. Чтобы решение с наибольшим количеством голосов работало, атрибуты в POJO должны быть
public
или иметь открытыйgetter
/setter
:Еще не проверено, но я считаю, что это правило также применимо к другим библиотекам JSON, таким как Google Gson.
источник
источник
Вы можете использовать Google Gson, как это
источник