{"Msg_Type":0,"Msg_Text":"OK","RecordCount":1,"Data":[{"UserID":"001","UserName":"Admin","Password":"C4A084E1","ActiveFlag":true,"RefreshTime":"2023/7/24 12:08:52","SafeModeFlag":false,"FootManFlag":false,"Validate":"2119/1/1","Remark":"管理员111","LastUseSysID":3,"UserNoteID":"","LoginIP":"127.0.0.1","UserTel":"13502893477","OpenID":"o-R8W5CVpplHf9QvohbxxRrzuISU","MsgCode":"8514","SendCodeTime":"2022/10/14 16:45:04","UserRole":"总经理"}]} ,data里面的数组怎么解析为对象,注意了,Data里面的类型不确定,我需要的是通用方法,就是说我可以传递任意对象。
时间: 2023-07-30 10:13:16 浏览: 125
node_adt:在节点中读取Advantage Database Server ADT文件
要将 JSON 数据中的数组解析为通用对象,你可以使用 JSON 解析库,如 Gson 或 Jackson,并使用泛型来实现通用性。
以下是使用 Gson 库将 JSON 数据中的数组解析为通用对象的示例:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
public class JsonUtils {
public static <T> List<T> parseJsonArray(String jsonArray, Class<T> clazz) {
Type listType = TypeToken.getParameterized(List.class, clazz).getType();
return new Gson().fromJson(jsonArray, listType);
}
public static void main(String[] args) {
String json = "{\"Msg_Type\":0,\"Msg_Text\":\"OK\",\"RecordCount\":1,\"Data\":[{\"UserID\":\"001\",\"UserName\":\"Admin\",\"Password\":\"C4A084E1\",\"ActiveFlag\":true,\"RefreshTime\":\"2023/7/24 12:08:52\",\"SafeModeFlag\":false,\"FootManFlag\":false,\"Validate\":\"2119/1/1\",\"Remark\":\"管理员111\",\"LastUseSysID\":3,\"UserNoteID\":\"\",\"LoginIP\":\"127.0.0.1\",\"UserTel\":\"13502893477\",\"OpenID\":\"o-R8W5CVpplHf9QvohbxxRrzuISU\",\"MsgCode\":\"8514\",\"SendCodeTime\":\"2022/10/14 16:45:04\",\"UserRole\":\"总经理\"}]}";
List<DataObject> dataObjects = parseJsonArray(json, DataObject.class);
for (DataObject dataObject : dataObjects) {
System.out.println("UserID: " + dataObject.getUserID());
System.out.println("UserName: " + dataObject.getUserName());
System.out.println("Password: " + dataObject.getPassword());
// 获取其他属性值
}
}
}
```
在这个示例中,我创建了一个 `JsonUtils` 类,并添加了一个静态方法 `parseJsonArray`,该方法使用了 Gson 库的 `TypeToken` 类来解析 JSON 数组为通用对象列表。
你可以使用 `parseJsonArray` 方法来解析 JSON 数组,传递 JSON 字符串和对象的 Class 类型作为参数。然后,你可以遍历解析后的对象列表,并访问其属性值。
在上面的示例中,我使用了一个名为 `DataObject` 的类来表示 JSON 数据的结构。你可以根据需要更改 `DataObject` 类的定义,或者使用其他类来表示 JSON 数据的结构。
确保将 `json` 替换为你实际的 JSON 字符串,并根据需要调整处理后的对象的逻辑。
阅读全文