1.使用@requestBody String json ,标注applicationCoent='json‘
2.需要导入
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
新建文件 *.txt
{
"table1":"t_userA",
"status":"a",
"content":[
{"id":1,"ide":"eclipse","name":Java},
{"id":2,"ide":"XCode","name":"Swift"},
{"id":3,"ide":"Visual Stdio","name":"C#"}
],
"table2":"t_userB",
"status":"d",
"content":[
{"id":1,"ide":"eclipse","name":Java},
{"id":2,"ide":"XCode","name":"Swift"},
{"id":3,"ide":"Visual Stdio","name":"C#"}
],
"table3":"t_userC",
"status":"u",
"content":[
{"id":1,"ide":"eclipse","name":Java},
{"id":2,"ide":"XCode","name":"Swift"},
{"id":3,"ide":"Visual Stdio","name":"C#"}
]
}
test测试类
import java.io.FileNotFoundException;
import java.io.FileReader;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import com.google.gson.JsonArray;
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
注意需要对空指针判断
public class actimqTest {
public static void main(String[] args) {
//将 test.json 的数据转换成 JSON 对象
//需要创建一个解析器,可以用来解析字符串或输入流
String jsonString ="{\"table\":\"t_user\",\"stauts\":\"a\",\"context\":\"[email protected]\"}";
String str= "{\"table\":\"t_user\",\"stauts\":\"a\",\"context\":"
+ "[{\"table\":25,\"gender\":\"female\",\"grades\":\"三班\",\"name\":\"露西\"}],\"flag\":\"true\"}";
try {
JsonParser parser=new JsonParser();
//创建一个JSON对象,接收parser解析后的返回值
JsonObject object=(JsonObject) parser.parse(new FileReader("D:\\test.txt")); //创建JsonObject对象
System.out.println("table="+object.get("table1").getAsString());
System.out.println("stauts="+object.get("status").getAsString());
//创建一个JsonArray
JsonArray array=object.get("content").getAsJsonArray();
/* if(array.size()!=0&&array!=null){
}*/
//判断JSON,list集合长度是否大于0证明有数据
if(CollectionUtils.sizeIsEmpty(array)) {
for (int i = 0; i < array.size(); i++) {
System.out.println("-----------------"+array.get(i).toString());
//创建一个JsonObject,从array的下标获取,get() 返回JsonElement类型
//这里不用强转,而用 getAsJsonObject() 进行转换
JsonObject subObject=array.get(i).getAsJsonObject();
System.out.println("id="+subObject.get("id").getAsString());
System.out.println("ide="+subObject.get("ide").getAsString());
System.out.println("name="+subObject.get("name").getAsString());
}
}
} catch (JsonIOException e1) {
e1.printStackTrace();
} catch (JsonSyntaxException e2) {
e2.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}