[英]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”從數據庫中獲取數據,我想從該數據中創建對象。 創建完之后,我想用“ id”從json對象更新一些值。
假設我從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
對象現在將包含String格式的序列化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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.