Object json = "{'name':'张三','xingming':'男', "
+"'testData':{"
+"'tqq':{'Ceshichengji':'25.6','Dengji':'优秀','Pingjiadengji':'5','Ceshixiangmumingcheng':'坐位体前屈'},"
+"'fys':{'Ceshichengji':'0.93','Dengji':'差','Pingjiadengji':'1','Ceshixiangmumingcheng':'选择反应时'},"
+"'fwc':{'Ceshichengji':'5','Dengji':'差','Pingjiadengji':'1','Ceshixiangmumingcheng':'俯卧撑'},"
+"'fhl':{'Ceshichengji':'517','Dengji':'差','Pingjiadengji':'1','Ceshixiangmumingcheng':'肺活量'},"
+"'bydjzl':{'Ceshichengji':'5','Dengji':'稍差','Pingjiadengji':'2','Ceshixiangmumingcheng':'闭眼单脚站立'},"
+"'zt':{'Ceshichengji':'74.8','Dengji':'优秀','Pingjiadengji':'5','Ceshixiangmumingcheng':'纵跳'},"
+"'wl':{'Ceshichengji':'8.3','Dengji':'差','Pingjiadengji':'1','Ceshixiangmumingcheng':'握力'},"
+"'tj':{'Ceshichengji':'28.6','Dengji':'差','Pingjiadengji':'1','Ceshixiangmumingcheng':'台阶指数'},"
+"'bl':{'Ceshichengji':'23','Dengji':'差','Pingjiadengji':'0','Ceshixiangmumingcheng':'背力'},"
+"'tz':{'Ceshichengji':'43','Dengji':'差','Pingjiadengji':'','Ceshixiangmumingcheng':'体重'},"
+"'sg':{'Ceshichengji':'体重','Dengji':'差','Pingjiadengji':'5','Ceshixiangmumingcheng':'身高'}}}";
这种格式怎么在后台遍历啊?
JSONObject job = new JSONObject(s);
System.out.println(job.get("name"));
System.out.println(job.get("xingming"));
JSONObject testData = job.getJSONObject("testData");
JSONArray arr = testData.names();
for (int i = 0; i < arr.length(); i++) {
JSONObject data=testData.getJSONObject((String) arr.get(i));
System.out.print(data.get("Ceshichengji")+"\t");
System.out.print(data.get("Dengji")+"\t");
System.out.print(data.get("Pingjiadengji")+"\t");
System.out.print(data.get("Ceshixiangmumingcheng")+"\t");
System.out.println();
}
s就是你的字符串,不得不说你这个json串还是蛮奇葩的..解析结果:
张三
男
43 差 体重
5 稍差 2 闭眼单脚站立
25.6 优秀 5 坐位体前屈
8.3 差 1 握力
0.93 差 1 选择反应时
23 差 0 背力
74.8 优秀 5 纵跳
517 差 1 肺活量
5 差 1 俯卧撑
体重 差 5 身高
28.6 差 1 台阶指数
,不知道是不是你想要的
先存入临时表,然后操作临时表
后面的各项指标不能改成数组形式吗?把tqq,fys,fwc等 作为个指标的一个type字段?
先转化为List再遍历啊,可以用ObjectMapper或者Gson
可以把testData这一层解析成map。
创建一个pojo
属性就是
name : String
xingming : String
testData : List>
再找个json转对象的包
这是集合里嵌套集合么,list里包含list,创建pojo,把这个格式化啊,然后遍历数组入库,不就可以了
搞清楚数据结构,设计符合结构(需求)的表,解析json再存入库
试试将Json转化为Map集合, 然后调用Map中的数据,
用一个google的解json的包,下面是示例,写个循环就能解出来了
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = jsonParser.parse(json.toString()).getAsJsonObject();
String name = jsonObject.get("name").getAsString();
System.out.println(name);
JsonObject testData = jsonObject.get("testData").getAsJsonObject();
JsonObject bydjzl = testData.get("bydjzl").getAsJsonObject();
String bydjzl_Dengji = bydjzl.get("Dengji").getAsString();
System.out.println(bydjzl_Dengji);
============输出:============
张三
稍差
集合,或者创建对象都可以,对照你的json串格式