java后端server层生成json、json、json数据、json排序
2021/9/7 17:08:18
本文主要是介绍java后端server层生成json、json、json数据、json排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、json封装和解析思路:
1、解析:主要看object、Array保函关系。及{}、[]保函关系,谁在外就先提取谁。遇到{}用JSONObject,遇到[]用JSONArray。{}中保函[]用jsonobject.getJSONArray,再循环遍历key-value对象。
2、封装:
a、循环遍历数据表数据,得到column信息,
b、put到jsonobject,或put到map,
c、把map对象存到数组中:add到jsonArray中。
二、json前后端整体思路:
1、链接数据库:配置数据库信息、写dao、entity、xml 或写query
2、server层封装数据:使用集合、循环、计算、jsonobject、jsonarray等封装为json表数据。
3、Controller层调用server层的数据。
4、web层调用Controller层接口json数据。
5、web界面写page、js、chartsjs等生成图形信息或需要的表格数据。
java后端封装json:
测试:
code:
//应在server层或Controller层中封装json //测试json: //json封装:方式一:jsonobject JSONObject jsonObject=new JSONObject(); JSONArray jsonArray=new JSONArray(); jsonObject.put("id","12j3ld9d9ssfew0rf8ercf"); jsonObject.put("Name","北京xxxx交通市政工程xxxx"); //.....多个jsonobject //jsonobject2一般省略,应在循环数据表中加入多个 id、name对象数据。 JSONObject jsonObject2=new JSONObject(); jsonObject2.put("id","4sdf9df7favg6sdf8886afd"); jsonObject2.put("Name","天津xxxxx机械xxxxx"); jsonArray.add(jsonObject); jsonArray.add(jsonObject2); System.out.println("jsonobject:"+jsonArray.toString()); //json封装:方式二:Map泛型 JSONArray jsonarray2=new JSONArray(); Map<String ,String> map=new HashMap(); map.put("id","45l08asd7fg5afgf7sde64fda"); map.put("Name","北京xxxxx项目xxxx"); //map2可省略,应在循环中加入map。 Map<String,String> map2=new HashMap(); map2.put("id","4ld9ffae8rgd90rws8r"); map2.put("Name","太原xxxx招标项目"); jsonarray2.add(map); jsonarray2.add(map2); System.out.println("Map:"+jsonarray2.toString());
排序:
code:
//没有必要用TreeMap(Map<String,String> treemap=new TreeMap();),请先sql索引关键字排序好每条数据,在封装为JSON。 //若单条数据column排序,建议用TreeMap Map<String,String> map=new TreeMap(); map.put("id","sdfs8d6f5afd679f0adff8"); map.put("Zxxx","info9"); map.put("Txxx","info6"); map.put("Bxxx","info2"); JSONArray jsonArray=new JSONArray(); jsonArray.add(map); System.out.println(jsonArray.toString());
java后端解析json:
测试:
code:
import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class jsontest { public static void main(String[] args) { //在此仅为测试,正式的请在server层写逻辑。 //page反馈:{"projectResponse":{"Projectdata":[{"projectName":"北京xxx地铁xxx项目招标","projectType":"招标"},{"projectName":"天津xxx造价工程","projectType":"造价"}]},"status":"ok"} String jsonstr=" {\"projectResponse\":{\"Projectdata\":[{\"projectName\":\"北京xxx地铁xxx项目招标\",\"projectType\":\"招标\"}," + "{\"projectName\":\"天津xxx造价工程\",\"projectType\":\"造价\"}]},\"status\":\"ok\"}"; JSONObject jsonobject=JSONObject.fromObject(jsonstr); JSONObject projectRes=jsonobject.getJSONObject("projectResponse"); JSONArray jsonarray=projectRes.getJSONArray("Projectdata"); for(int i=0;i<jsonarray.size();i++){ JSONObject Projectinfo=jsonarray.getJSONObject(i); String projectName=Projectinfo.getString("projectName"); String projectType=Projectinfo.getString("projectType"); System.out.println("项目名称为:"+projectName+",项目类型为:"+projectType); } } }
需要的jar:
dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0' //json implementation 'net.sf.json-lib:json-lib:2.4:jdk13' implementation 'commons-beanutils:commons-beanutils:1.9.3' implementation 'org.apache.commons:commons-collections4:4.4' implementation 'org.apache.commons:commons-lang3:3.11' implementation 'commons-logging:commons-logging:1.2' }
未完待续....
这篇关于java后端server层生成json、json、json数据、json排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Java创意资料:新手入门的创意学习指南
- 2024-11-25JAVA对接阿里云智能语音服务资料详解:新手入门指南
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25Java对接阿里云智能语音服务资料详解
- 2024-11-25JAVA副业资料:新手入门及初级提升指南
- 2024-11-25Java副业资料:入门到实践的全面指南
- 2024-11-25Springboot应用的多环境打包项目实战
- 2024-11-25SpringBoot应用的生产发布项目实战入门教程
- 2024-11-25Viite多环境配置项目实战:新手入门教程
- 2024-11-25Vite多环境配置项目实战入门教程