如何使用 java 中的 org.json.JSONObject 包创建其中包含多个数组的 json 对象?
how to create json object with multiple array within it using org.json.JSONObject package in java?
我想创建 json 对象,
{"jsonName":[{"id":"1","name":"abc"},{"id":2,"name":"pqr"}]}
"jsonName" 从数据库中获取数据,我想从该数据创建对象。
我想在创建 json 对象后用 "id" 更新一些值。
假设我 运行 来自 java 的查询..
String selectStr = "select * from emp";
ResultSet rs = ps.executeQuery ();
while(rs.next())
{
.....
}
我正在像这样获取数据并希望创建 json 对象来存储所有数据行。
有人可以帮帮我吗..我是 json 对象的新手。
你可以试试quick-json。可用于将 Java 对象转换为它们的 JSON 表示。它还可用于将 JSON 字符串转换为等效的 Java 对象。 quick-json 可以处理任意 Java 对象。
当使用诸如 gson(参见:https://github.com/google/gson)之类的库时,这样做就变得很简单了。您可以简单地定义一个 类 形状的结构,例如:
public class JsonObj {
public List<JsonItem> jsonName;
}
public class JsonItem {
public int id;
public String name;
}
然后,您可以使用 gson 将您的对象序列化为 json(详尽的示例,但您明白了):
Gson gson = new Gson();
JsonObj obj = new JsonObj();
obj.jsonName = new ArrayList<String>();
String selectStr = "select * from emp";
ResultSet rs = ps.executeQuery();
while(rs.next())
{
JsonItem item = new JsonItem();
item.id = rs.getInt(1); //or whatever column index goes here
item.name = rs.getString(2); //or whatever column index goes here
obj.jsonName.Add(item);
}
String json = gson.toJson(obj);
json
对象现在将包含字符串格式的序列化 json。
使用 org.json 库:
JSONArray elements = new JSONArray();
JSONObject rootJson = new JSONObject();
String selectStr = "select * from emp";
try
{
JSONArray elements = null; // to prevent query returning empty resultset
JSONArray el = new JSONArray();
ResultSet rs = ps.executeQuery();
while(rs.next())
{
JSONObject el = new JSONObject();
el.put("id", rs.getInt(1));
el.put("name", rs.getString(2));
elements.put(element);
}
rootJson.put("jsonName", elements);
}catch(Exception e)
{
e.printStackTrace();
}
我想创建 json 对象, {"jsonName":[{"id":"1","name":"abc"},{"id":2,"name":"pqr"}]} "jsonName" 从数据库中获取数据,我想从该数据创建对象。 我想在创建 json 对象后用 "id" 更新一些值。
假设我 运行 来自 java 的查询..
String selectStr = "select * from emp";
ResultSet rs = ps.executeQuery ();
while(rs.next())
{
.....
}
我正在像这样获取数据并希望创建 json 对象来存储所有数据行。 有人可以帮帮我吗..我是 json 对象的新手。
你可以试试quick-json。可用于将 Java 对象转换为它们的 JSON 表示。它还可用于将 JSON 字符串转换为等效的 Java 对象。 quick-json 可以处理任意 Java 对象。
当使用诸如 gson(参见:https://github.com/google/gson)之类的库时,这样做就变得很简单了。您可以简单地定义一个 类 形状的结构,例如:
public class JsonObj {
public List<JsonItem> jsonName;
}
public class JsonItem {
public int id;
public String name;
}
然后,您可以使用 gson 将您的对象序列化为 json(详尽的示例,但您明白了):
Gson gson = new Gson();
JsonObj obj = new JsonObj();
obj.jsonName = new ArrayList<String>();
String selectStr = "select * from emp";
ResultSet rs = ps.executeQuery();
while(rs.next())
{
JsonItem item = new JsonItem();
item.id = rs.getInt(1); //or whatever column index goes here
item.name = rs.getString(2); //or whatever column index goes here
obj.jsonName.Add(item);
}
String json = gson.toJson(obj);
json
对象现在将包含字符串格式的序列化 json。
使用 org.json 库:
JSONArray elements = new JSONArray();
JSONObject rootJson = new JSONObject();
String selectStr = "select * from emp";
try
{
JSONArray elements = null; // to prevent query returning empty resultset
JSONArray el = new JSONArray();
ResultSet rs = ps.executeQuery();
while(rs.next())
{
JSONObject el = new JSONObject();
el.put("id", rs.getInt(1));
el.put("name", rs.getString(2));
elements.put(element);
}
rootJson.put("jsonName", elements);
}catch(Exception e)
{
e.printStackTrace();
}