使用 GSON 从休眠创建的列表中读取字段名称 MySQL select
Reading field name using GSON from list created from hibernate MySQL select
我正在寻找一种方法来获得从 MySQL 查询返回的列表,并在 JSON 中输出字段名称而不是数组。这是一些示例代码:
List list = lookup_mgr.getResults("select someField, anotherField from someTable");
if (list != null) {
String json = new Gson().toJson(list);
}
这将拉取一个列表并创建一个 JSON 数组,例如:
[
["someFieldValue","anotherFieldValue"],
["someFieldValue","anotherFieldValue"]
]
我希望它是这样的:
[
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
},
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
}
]
我希望它尽可能简单和快速。我该怎么做呢?
我想你真正想要的是这个('{', '}' 代表对象):
[
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
},
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
}
]
这表示以 JSON 表示法表示的对象数组。与您当前获得的(字符串数组的数组)相反。
为此,您应该创建一个 Java bean class,它恰好具有这两个属性(我们称它为 SomeBean)。遍历您的查询结果并将您需要的数据放入 List ,然后将该列表传递给 new Gson().toJson(list).
您可以使用 JSONObject
。只需将您的结果放入其中,然后 return 那。
示例 -
public JSONObject getResult(){
JSONObject responseJson = new JSONObject();
List<Object> resultList = new ArrayList<Object>();
User user1 = new User();
User user2 = new User();
User user3 = new User();
resultList.add(user1);
resultList.add(user2);
resultList.add(user3);
responseJson.put("result", resultList);
return responseJson;
}
希望对您有所帮助!
我正在寻找一种方法来获得从 MySQL 查询返回的列表,并在 JSON 中输出字段名称而不是数组。这是一些示例代码:
List list = lookup_mgr.getResults("select someField, anotherField from someTable");
if (list != null) {
String json = new Gson().toJson(list);
}
这将拉取一个列表并创建一个 JSON 数组,例如:
[
["someFieldValue","anotherFieldValue"],
["someFieldValue","anotherFieldValue"]
]
我希望它是这样的:
[
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
},
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
}
]
我希望它尽可能简单和快速。我该怎么做呢?
我想你真正想要的是这个('{', '}' 代表对象):
[
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
},
{
someField: "someFieldValue",
anotherField: "anotherFieldValue"]
}
]
这表示以 JSON 表示法表示的对象数组。与您当前获得的(字符串数组的数组)相反。
为此,您应该创建一个 Java bean class,它恰好具有这两个属性(我们称它为 SomeBean)。遍历您的查询结果并将您需要的数据放入 List
您可以使用 JSONObject
。只需将您的结果放入其中,然后 return 那。
示例 -
public JSONObject getResult(){
JSONObject responseJson = new JSONObject();
List<Object> resultList = new ArrayList<Object>();
User user1 = new User();
User user2 = new User();
User user3 = new User();
resultList.add(user1);
resultList.add(user2);
resultList.add(user3);
responseJson.put("result", resultList);
return responseJson;
}
希望对您有所帮助!