Json对象应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json对象应用相关的知识,希望对你有一定的参考价值。

一、json的拼装:

引包:org.json.jar

创建JSONObject对象

调用JSONObject对象的put方法进行json数据的拼装

如果想要拼装json数组,则需要创建一个JSONArray对象:

  1. public class SendJSON {  
  2. public static void main(String[] args) throws JSONException {  
  3. // TODO Auto-generated method stub  
  4. //创建JSON对象  
  5.         JSONObject jsonObject = new JSONObject();  
  6. //创建用户实名信息JSON对象  
  7.         JSONObject jsonObjectUserIDInfo = new JSONObject();  
  8. //json数组  
  9.         JSONArray jsonArray = new JSONArray();  
  10. //组装json数组  
  11.         jsonObjectUserIDInfo.put("name", "zhangSan");  
  12.         jsonObjectUserIDInfo.put("idtype", "身份证");  
  13.         jsonObjectUserIDInfo.put("idnum", "11111");  
  14.         jsonArray.put(jsonObjectUserIDInfo);  
  15.         jsonObject.put("userIDInfo", jsonArray);  
  16.         jsonObject.put("sex", "男");  
  17.         System.out.println(jsonObject);  
  18.         ReceiveJson json = new ReceiveJson();  
  19. //json.test(jsonObject);  
  20.     }  
  21. }  

这样便是创建了含有json对象、json数组的json串。

 

 

二、json的解析:

通常,我们在编写前端向后台传值或者是编写测试类的时候,会事先写好一个json对象进行传递,那么我们的后台接收到这个json对象后,想要从中取出具体的值,那该怎么做?请看案例:

1、工欲善其事,必先利其器。要完成解析工作,我们首先要准备好需要的jar包:org.json.jar即可。将jar包加载进工程后,我们便可根据自己的需要进行json解析了。

2、假设有如下json对象:

{"userIDInfo":{"name":"zhangsSan","idtype":"IDCard","idnum":"3602001"},

"age":23,

"sex":"man"}

3、后台接收这个json对象开始解析

 

 
  1. public  String identityRecognition(  
  2.            JSONObject jsonObject) {  
  3.       //解析出用户实名信息的值  
  4.       JSONObject userInfo = (JSONObject) jsonObject.get("userIDInfo");  
  5.       String name = userInfo.get("name").toString();  
  6. tring name = jsonObject.get("age").toString();  

 

 

在这里我们是怎么解析的?答案很简单,就是利用你接受到的jsonObject的get方法即可。这是解析json对象的方法。

如果说是一个json数组呢?该如何解析?

有一个json数组:{"sex":"男","userIDInfo":[{"idtype":"身份证","name":"zhangSan","idnum":"11111"}]}

后台解析代码:

 

 
  1. public  class ReceiveJson {  
  2.     public void test(JSONObject jsonObject) throws JSONException{  
  3.         JSONArray jsonarray = (JSONArray)jsonObject.get("userIDInfo");  
  4.         System.out.println(jsonarray.get(0));  
  5.         JSONObject jsontestJsonObject = (JSONObject)jsonarray.get(0);  
  6.         System.out.println(jsontestJsonObject.get("name"));  
  7.           
  8.     }  
  9. }  

 

另外补充一个小知识点,这个在实际编程中还是挺有用处的,就是Java字符串转成json对象

 

JSONObject jsonObject = new JSONObject(jsonString);      

这个jsonString就是一个字符串形式的json,只要放在JSONObject的构造方法中,就可以得到一个json对象了,直接System.out.println(jsonObject)就可以得到了。   



以上是关于Json对象应用的主要内容,如果未能解决你的问题,请参考以下文章

json 的应用

JSON定义及应用

使用应用脚本从大查询数据库中提取 JSON 对象

在 fabricjs 对象上应用 JSON.stringify 后自定义属性丢失

如果在 JSON 对象中加载空图像 URL,则应用程序崩溃

怎么把一个对象转换成json对象