json学习

最近开发一直会用到json 无论是前端还是后台,自己好像又有点模糊,所以简单整理一下。

1.什么是json

   JSON是一种与开发语言无关的、轻量级的数据格式,全称JavaScript Object Notation。JSON与具体的编程语言没有是关系的,更确切的称之为一种数据格式的标准或是规范。

   JSON的优点:易于人的阅读和编写,易于程序解析与生产。

2.json 的格式

 1 {
 2     "comCode": "0",
 3     "agent": {
 4         "OpenId": "oOAvMwE5VKHCmwvZadxcmsbbNClU",        
 5         "Channel": "G"
 6     },
 7     "insured": {
 8         "Sex": "0",
 9         "Age": "21",
10         "OccupationCode": "A101"
11     },
12     "ControlCode": "Prem",
13     "appnt": {
14         "PluralityType": "",
15         "SmokeFlag": "",
16         "Operator": "",
17         "ManageCom": "",
18         "MakeDate": "",
19         "MakeTime": "",
20         "ModifyDate": "",
21         "ModifyTime": ""
22     },
23     "polSet": [{
24         "mainPol": {
25             "PolTypeFlag": "S",
26             "RiskCode": "G0015",
27             "InsuredAppAge": "21",
28             "InsuredPeoples": "0",
29             "ULFLBonusPolno": ""
30         }
31     }]
32 }

3.json 内容的获取

      json 格式的内容在传递到后台的时候,大部分会通过注解转换成一个对象,或者它只是一个json格式的字符串。下面就以json格式的字符串为例,看一下如何获取key 以及 对应的value值。

      

 1 package com.mq;
 2 
 3 
 4 import net.sf.json.JSONArray;
 5 import net.sf.json.JSONObject;
 6 
 7 public class jsonDemo {
 8     public static void main(String[] args) {
 9         String jsonDate = "{\"name\":\"ali\",\"age\":\"18\",\"sex\":\"女\",\"friend\":[{\"name\":\"bli\",\"age\":\"19\"},{\"name\":\"cli\",\"age\":\"29\"}]}";
10         //转换json对象
11         JSONObject jsonObj = JSONObject.fromObject(jsonDate);
12         System.out.println(jsonObj.get("name"));
13         //第一种方法
14         System.out.println(jsonObj.get("friend").getClass());
15         System.out.println(jsonObj.get("friend"));
16         Object backBodyJson = jsonObj.get("friend");
17         JSONArray jsonArray=JSONArray.fromObject(backBodyJson);
18         System.out.println(jsonArray.get(0).getClass());
19         System.out.println(JSONObject.fromObject(jsonArray.get(0)).get("name"));
20         //第二种方法
21         JSONArray jsonArray1 = jsonObj.getJSONArray("friend");
22         JSONObject jsonObjDate = jsonArray1.getJSONObject(1);
23         System.out.println(jsonObjDate.get("name"));
24         
25     }
26 }

运行结果:

ali
class net.sf.json.JSONArray
[{"name":"bli","age":"19"},{"name":"cli","age":"29"}]
class net.sf.json.JSONObject
bli
cli

 

posted @ 2018-09-04 18:06  天晴、、、  阅读(110)  评论(0编辑  收藏  举报