Json知识点回顾

(JavaScript Object Notation,即JavaScript对象标记)
是一种轻量级的数据交换格式,是存储和交换文本信息的语法,类似于xml,
是独立语言,什么语言都可以解析json
长度比xml小,读写速度快,可以使用JavaScript内建方法直接解析转换为JavaScript对象,
易于人阅读,易于程序解析 ,在各种编程语言中都被支持并广泛运用于前后端的数据传送交互
语法规则: 
1、数据结构:
Object:{}包含的键值对结构,key必须是string类型,value为任何基本类型或对象
Array :[]包含,逗号分隔
2、基本类型:string、number、true 、false 
读取json: 一般通过JSON.parse();方法来读取

SON JS 对象互转

要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法:

var json =JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a":"Hello", "b": "World"}' 

要实现从 JSON 转换为对象,使用 JSON.parse() 方法:

var obj =JSON.parse('{"a": "Hello", "b":"World"}'); //结果是 {a: 'Hello', b: 'World'} 

Jsonjava中的调用 

首先,在JAVA中使用JSON需要引入 org.json

并在程序中引入相应的JSON类: 

import org.json.JSONArray;

importorg.json.JSONException;

import org.json.JSONObject; 

json使用时,首先在服务端将数据进行json封装:

//声明一个Hash对象并添加数据

 Map params = new HashMap();

 params.put("username", username);

 params.put("user_json", user);

 //声明JSONArray对象并输入JSON字符串

 JSONArray array =JSONArray.fromObject(params);

 put.println(array.toString()); 

然后在前端进行数据的相应解析,也就是将json数据进行解析: 

 //@description: 根据接收到的JSON字符串来解析字符串中所包含的数据和数据对象 

  //接收到的JSON字符串

  String result ="[{\"username\": \"your name\",\"user_json\": {\"username\": \"your name\",\"nickname\": \"your nickname\"}}]"; 

  //根据字符串生成JSON对象

  JSONArray resultArray = newJSONArray(result);

  JSONObject resultObj =resultArray.optJSONObject(0); 

 //获取数据项

 String username =resultObj.getString("username"); 

 //获取数据对象

 JSONObject user =resultObj.getJSONObject("user_json");

 String nickname =user.getString("nickname"); 

另外,关于jsonJava中的使用最重要的就是几种数据格式之间的转化: 

1String 转换为JSON对象

 public class StringToJSON {

     public static void main(String[] args)throws JSONException{ 

         System.out.println("abc");

        //定义JSON字符串

        String jsonStr ="{\"id\": 2," +

                " \"title\":\"json title\", " +

                 "\"config\":{" +

                    "\"width\":34," +

                    "\"height\":35," +

                 "}, \"data\":[" +

                     "\"JAVA\",\"JavaScript\", \"PHP\"" +

                 "]}";

 

         //转换成为JSONObject对象

         JSONObject jsonObj = newJSONObject(jsonStr); 

         //JSONObject对象中获取数据

         JavaBean bean = new JavaBean(); 

        //根据属性名称获取int型数据;

        bean.setId(jsonObj.getInt("id"));     

        //根据属性名获取String数据;

        bean.setTitle(jsonObj.getString("title")); 

        //根据属性名获取JSONObject

         JSONObject config =jsonObj.getJSONObject("config");

        bean.setWidth(config.getInt("width"));

         bean.setHeight(config.getInt("height")); 

         //根据属性名获取JSONArray数组

         JSONArray data =jsonObj.getJSONArray("data");

        for(int index = 0, length =data.length(); index < length; index++) { 

 //           bean.setLanguages(String[]);        }       

     }

 } 

2JSON对象转换为String字符串 

//创建JSONObject对象

        JSONObject json = new JSONObject(); 

        //json中添加数据

         json.put("username","wanglihong");

        json.put("height", 12.5);

         json.put("age", 24);

       //创建JSONArray数组,并将json添加到数组

        JSONArray array = new JSONArray();

        array.put(json);

         //转换为字符串

        String jsonStr = array.toString(); 

3、集合转换为JSONArray对象

//初始化ArrayList集合并添加数据

        List<String> list = newArrayList<String>();

        list.add("username");

        list.add("age");

         list.add("sex"); 

         //初始化HashMap集合并添加数组

         Map map = new HashMap();

        map.put("bookname","CSS3实战");

        map.put("price", 69.0); 

        //初始化JSONArray对象,并添加数据

        JSONArray array = new JSONArray();

        array.put(list);

        array.put(map); 

       //生成的JSON字符串为:[["username","age","sex"],{"price":69,"bookname":"CSS3实战"}]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值