类似如下格式如何解析求帮助:【使用GSON 方式解析】
[
{
"code": 200,
"response": [
{
"page": 1,
"user": [
{
"name": "张三",
"age": 20,
"sex": "男"
},
{
"name": "李四",
"age": 21,
"sex": "男"
},
{
"name": "王五",
"age": 22,
"sex": "男"
}
]
}
]
}
]
------解决思路----------------------
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import com.google.gson.Gson;
public class Test {
/**
* @param args
* @throws IOException
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws NoSuchMethodException
* @throws IllegalArgumentException
* @throws SecurityException
*/
public static void main(String[] args) throws IOException, SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
String str=getJsonStr();
Gson gson = new Gson();
ResultMsg[] resultMsgArray=gson.fromJson(str, ResultMsg[].class);
printlnMsg(resultMsgArray);
}
/**
* 获得要转换的JSON字符串<br>
* 这边为了方面我直接读的我本地的文件内容为你要转换的json字符串
* @return
* @throws IOException
*/
private static String getJsonStr() throws IOException{
StringBuffer sbf = new StringBuffer();
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream( "F:"+File.separator+"json.txt"),"UTF-8"));
//json字符串
String str="";
while((str=reader.readLine())!=null){
sbf.append(str);
}
reader.close();
return sbf.toString();
}
private static void printlnMsg(ResultMsg[] resultMsgArray){
if(null!=resultMsgArray){
System.out.println("结果:"+Arrays.toString(resultMsgArray));
}
}
}
class ResultMsg{
private Response[] response;
private String code;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public Response[] getResponse() {
return response;
}
public void setResponse(Response[] response) {
this.response = response;
}
@Override
public String toString() {
return "ResultMsg [response=" + Arrays.toString(response) + ", code="
+ code + "]";
}
}
class Response{
private String page;
private User[] user;
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public User[] getUser() {
return user;
}
public void setUser(User[] user) {
this.user = user;
}
@Override
public String toString() {
return "Response [page=" + page + ", user=" + Arrays.toString(user)
+ "]";
}
}
class User {
private String name;
private String age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}
上面这端代码把JSON结果封装成了一个ResultMsg数组的形式,楼主也可以根据自己的需要改装