如何用Java生成Json
我正在开发一个应用程序,在这个应用程序中,我必须生成一个json,如下所示:如何用Java生成Json,java,json,Java,Json,我正在开发一个应用程序,在这个应用程序中,我必须生成一个json,如下所示: [ {"title":"Culture","start":"Salary","end":"Work"}, {"title":"Work","start":"Salary","end":"Work"} ] 但我的代码生成的json如下: {{"name":"Culture"},[{"name":"Salary"},{"name":"Work"}],} Gson gson = new Gson(); Strin
[
{"title":"Culture","start":"Salary","end":"Work"},
{"title":"Work","start":"Salary","end":"Work"}
]
但我的代码生成的json如下:
{{"name":"Culture"},[{"name":"Salary"},{"name":"Work"}],}
Gson gson = new Gson();
String stringJson = gson.toJson(somePojoObject);
Gson gson = new Gson();
SomePojoClass object = gson.fromJson(stringJson, SomePojoClass.class);
我的代码:
public class ParseJson {
public static class EntryListContainer {
public List<Entry> children = new ArrayList<Entry>();
public Entry name;
}
public static class Entry {
private String name;
public Entry(String name) {
this.name = name;
}
}
public static void main(String[] args) {
EntryListContainer elc1 = new EntryListContainer();
elc1.name = new Entry("Culture");
elc1.children.add(new Entry("Salary"));
elc1.children.add(new Entry("Work"));
ArrayList<EntryListContainer> al = new ArrayList<EntryListContainer>();
Gson g = new Gson();
al.add(elc1);
StringBuilder sb = new StringBuilder("{");
for (EntryListContainer elc : al) {
sb.append(g.toJson(elc.name));
sb.append(",");
sb.append(g.toJson(elc.children));
sb.append(",");
}
String partialJson = sb.toString();
if (al.size() > 1) {
int c = partialJson.lastIndexOf(",");
partialJson = partialJson.substring(0, c);
}
String finalJson = partialJson + "}";
System.out.println(finalJson);
}
}
公共类解析JSON{
公共静态类EntryListContainer{
public List children=new ArrayList();
公众入口名称;
}
公共静态类条目{
私有字符串名称;
公共条目(字符串名称){
this.name=名称;
}
}
公共静态void main(字符串[]args){
EntryListContainer elc1=新的EntryListContainer();
elc1.name=新条目(“文化”);
elc1.子女。添加(新条目(“工资”);
elc1.儿童。添加(新条目(“工作”);
ArrayList al=新的ArrayList();
Gson g=新的Gson();
加上(elc1);
StringBuilder sb=新的StringBuilder(“{”);
对于(EntryListContainer elc:al){
sb.append(g.toJson(elc.name));
某人加上(“,”);
sb.append(g.toJson(elc.children));
某人加上(“,”);
}
字符串partialJson=sb.toString();
如果(al.size()>1){
int c=partialJson.lastIndexOf(“,”);
partialJson=partialJson.substring(0,c);
}
字符串finalJson=partialJson+“}”;
System.out.println(finalJson);
}
}
有人能帮我以我需要的格式生成这个json吗??请提前感谢试试这个
public class Entry {
public String title;
public String start;
public String end;
}
在代码的另一部分
private ArrayList<Entry> entries = new ArrayList<>();
// Fill the entries...
String the_json = new Gson().toJson(entries);
private ArrayList entries=new ArrayList();
//填写条目。。。
字符串_json=new Gson().toJson(条目);
试试这个
public class Entry {
public String title;
public String start;
public String end;
}
在代码的另一部分
private ArrayList<Entry> entries = new ArrayList<>();
// Fill the entries...
String the_json = new Gson().toJson(entries);
private ArrayList entries=new ArrayList();
//填写条目。。。
字符串_json=new Gson().toJson(条目);
1)首先创建您的POJO
public class MyJSONObject {
private String title;
private String start;
private String end;
//getter and setter methods
[...]
@Override
public String toString() {
}
}
2) 使用com.google.code.gson库
public static void main(String[] args) {
{
ArrayList<MyJSONObject> myJSONArray = new ArrayList<>();
MyJSONObject obj = new MyJSONObject();
obj.setTitle="Culture";
obj.set[...]
myJSONArray.add(obj);
Gson gson = new Gson();
// convert java object to JSON format,
// and returned as JSON formatted string
String json = gson.toJson(myJSONArray);
System.out.println(json);
}
publicstaticvoidmain(字符串[]args){
{
ArrayList myJSONArray=新的ArrayList();
MyJSONObject obj=新的MyJSONObject();
obj.setTitle=“文化”;
对象集[…]
myJSONArray.add(obj);
Gson Gson=新的Gson();
//将java对象转换为JSON格式,
//并以JSON格式的字符串返回
字符串json=gson.toJson(myJSONArray);
System.out.println(json);
}
输出:[{“标题”:“文化”,“开始”:“工资”,“结束”:“工作”},…]
1) 首先创建您的POJO
public class MyJSONObject {
private String title;
private String start;
private String end;
//getter and setter methods
[...]
@Override
public String toString() {
}
}
2) 使用com.google.code.gson库
public static void main(String[] args) {
{
ArrayList<MyJSONObject> myJSONArray = new ArrayList<>();
MyJSONObject obj = new MyJSONObject();
obj.setTitle="Culture";
obj.set[...]
myJSONArray.add(obj);
Gson gson = new Gson();
// convert java object to JSON format,
// and returned as JSON formatted string
String json = gson.toJson(myJSONArray);
System.out.println(json);
}
publicstaticvoidmain(字符串[]args){
{
ArrayList myJSONArray=新的ArrayList();
MyJSONObject obj=新的MyJSONObject();
obj.setTitle=“文化”;
对象集[…]
myJSONArray.add(obj);
Gson Gson=新的Gson();
//将java对象转换为JSON格式,
//并以JSON格式的字符串返回
字符串json=gson.toJson(myJSONArray);
System.out.println(json);
}
输出:[{“标题”:“文化”,“开始”:“工资”,“结束”:“工作”},…]
我建议您使用一些JSON Java API,例如,从POJO对象生成字符串JSON或从字符串JSON创建POJO对象非常简单 从POJO对象生成字符串json的代码如下:
{{"name":"Culture"},[{"name":"Salary"},{"name":"Work"}],}
Gson gson = new Gson();
String stringJson = gson.toJson(somePojoObject);
Gson gson = new Gson();
SomePojoClass object = gson.fromJson(stringJson, SomePojoClass.class);
从字符串json创建POJO对象的代码如下:
{{"name":"Culture"},[{"name":"Salary"},{"name":"Work"}],}
Gson gson = new Gson();
String stringJson = gson.toJson(somePojoObject);
Gson gson = new Gson();
SomePojoClass object = gson.fromJson(stringJson, SomePojoClass.class);
请注意,不能使用循环引用序列化对象。这会导致无限递归。我建议您使用一些JSON Java API,例如。从POJO对象生成字符串JSON或从字符串JSON创建POJO对象非常简单 从POJO对象生成字符串json的代码如下:
{{"name":"Culture"},[{"name":"Salary"},{"name":"Work"}],}
Gson gson = new Gson();
String stringJson = gson.toJson(somePojoObject);
Gson gson = new Gson();
SomePojoClass object = gson.fromJson(stringJson, SomePojoClass.class);
从字符串json创建POJO对象的代码如下:
{{"name":"Culture"},[{"name":"Salary"},{"name":"Work"}],}
Gson gson = new Gson();
String stringJson = gson.toJson(somePojoObject);
Gson gson = new Gson();
SomePojoClass object = gson.fromJson(stringJson, SomePojoClass.class);
请注意,您不能使用循环引用序列化对象。这会导致无限递归。创建一个表示数据的类,然后使用Gson对该类进行字符串化。您可以编辑我的代码吗?我已经尝试过了?欢迎使用堆栈溢出!我为您所需的json模式添加了格式,还重写了几行以更正CTgramma并使您的问题简洁。祝您好运:首先,您需要名为
title
、start
和end
的字段。顺便说一句,我还建议您使用库来呈现json。这可能比您想象的要复杂。创建一个表示数据的类,然后使用Gson对该类进行字符串化。您可以编辑我的代码吗??我试过做一个??欢迎使用Stack Overflow!我为您所需的json模式添加了格式,还重写了几行以更正语法并使您的问题简洁。祝您好运:首先,您需要名为title
、start
和end
的字段。顺便说一句,我还建议您使用renderi库这可能比你想象的要复杂。