在Controller层处理json字符串解析存入数据库 使用 google.code.gson来解析

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();
}

}
}





猜你喜欢

转载自blog.csdn.net/jessecary/article/details/80089730