在 JTable 中显示 JSONArray Java
Display JSONArray in JTable Java
我有一个 JSONArray
需要插入到一个 JTable
中,但是根据我用谷歌搜索的结果,我得出的结论是将一个 JSONArray
插入到一个JTable
通过将其转换为 JSONObject
然后我可以使用 ArrayList
.
将其插入 JTable
我已经设法将 JSONArray
转换为 JSONObject
,如下所示,但是当我尝试将其转换为 Arraylist
然后插入时,我卡住了进入JTable
。你能告诉我怎么做吗?有没有更简单的方法将 JSONArray
插入 JTable
?
JSONArray:
[{"FOODID":"Jus Alpukat","PRICE":"7000","NUM":"1","RES":"7000.0","ORDERID_FK":""},{"FOODID":"Ice Cream","PRICE":"5000","NUM":"10","RES":"50000.0","ORDERID_FK":""}]
JSONObject:
{"RES":"7000.0","PRICE":"7000","NUM":"1","FOODID":"Jus Alpukat","ORDERID_FK":""}
{"RES":"50000.0","PRICE":"5000","NUM":"10","FOODID":"Ice Cream","ORDERID_FK":""}
JSONArray 到 JSONObject 转换程序:
JSONArray jsonArr = new JSONArray(lineRead);
List<Data> dataList = new ArrayList<>();
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject jsonObj = jsonArr.getJSONObject(i);
Data data = new Data();
data.foodid = jsonObj.getString("FOODID");
data.price = jsonObj.getString("PRICE");
data.num = jsonObj.getString("NUM");
data.res = jsonObj.getString("RES");
dataList.add(data);
}
JTable
可以使用 Vector<Vector<String>>
作为简单的 table 模型。因此,如果您只需要显示值,则可以使用以下相当简单的方法:
JSONArray jsonArr = new JSONArray(lineRead);
Vector<Vector<String>> dataList = new Vector<>();
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject jsonObj = jsonArr.getJSONObject(i);
Vector<String> data = new Vector<>();
data.add(jsonObj.getString("FOODID"));
data.add(jsonObj.getString("PRICE"));
data.add(jsonObj.getString("NUM"));
data.add(jsonObj.getString("RES"));
dataList.add(data);
}
Vector<String> columnNames = new Vector<>();
columnNames.add("foodId");
columnNames.add("price");
columnNames.add("num");
columnNames.add("res");
JTable table = new JTable(dataList, columnNames);
要获得更复杂的解决方案,您必须使用 TableModel
。
我有一个 JSONArray
需要插入到一个 JTable
中,但是根据我用谷歌搜索的结果,我得出的结论是将一个 JSONArray
插入到一个JTable
通过将其转换为 JSONObject
然后我可以使用 ArrayList
.
JTable
我已经设法将 JSONArray
转换为 JSONObject
,如下所示,但是当我尝试将其转换为 Arraylist
然后插入时,我卡住了进入JTable
。你能告诉我怎么做吗?有没有更简单的方法将 JSONArray
插入 JTable
?
JSONArray:
[{"FOODID":"Jus Alpukat","PRICE":"7000","NUM":"1","RES":"7000.0","ORDERID_FK":""},{"FOODID":"Ice Cream","PRICE":"5000","NUM":"10","RES":"50000.0","ORDERID_FK":""}]
JSONObject:
{"RES":"7000.0","PRICE":"7000","NUM":"1","FOODID":"Jus Alpukat","ORDERID_FK":""}
{"RES":"50000.0","PRICE":"5000","NUM":"10","FOODID":"Ice Cream","ORDERID_FK":""}
JSONArray 到 JSONObject 转换程序:
JSONArray jsonArr = new JSONArray(lineRead);
List<Data> dataList = new ArrayList<>();
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject jsonObj = jsonArr.getJSONObject(i);
Data data = new Data();
data.foodid = jsonObj.getString("FOODID");
data.price = jsonObj.getString("PRICE");
data.num = jsonObj.getString("NUM");
data.res = jsonObj.getString("RES");
dataList.add(data);
}
JTable
可以使用 Vector<Vector<String>>
作为简单的 table 模型。因此,如果您只需要显示值,则可以使用以下相当简单的方法:
JSONArray jsonArr = new JSONArray(lineRead);
Vector<Vector<String>> dataList = new Vector<>();
for (int i = 0; i < jsonArr.length(); i++) {
JSONObject jsonObj = jsonArr.getJSONObject(i);
Vector<String> data = new Vector<>();
data.add(jsonObj.getString("FOODID"));
data.add(jsonObj.getString("PRICE"));
data.add(jsonObj.getString("NUM"));
data.add(jsonObj.getString("RES"));
dataList.add(data);
}
Vector<String> columnNames = new Vector<>();
columnNames.add("foodId");
columnNames.add("price");
columnNames.add("num");
columnNames.add("res");
JTable table = new JTable(dataList, columnNames);
要获得更复杂的解决方案,您必须使用 TableModel
。