WEB开发者-分享WEB开发知识,让开发变得更简单!

Java Json格式数据规则总结

JSON(JavaScript Object Notation) 是一种轻量级的基于文本的数据交换格式。它采用完全独立于语言的文本格式,易于读写同时也易于机器解析和生成(网络传输速率),因此使JSON成为理想的数据交换语言。

数据规则

1. 数据在键值对中

2. 数据由逗号分隔

3. 花括号保存对象

4. 方括号保存数组

5. 数据的书写格式是:名称/值对。

例如{"firstName":"Brett","lastName":"McLaughlin","email":"aaaa"}

数据格式

1. 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

Java Json格式数据规则总结

2. 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。

Java Json格式数据规则总结

3. 值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

Java Json格式数据规则总结

4. 字符串(string)是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

Java Json格式数据规则总结

5. 数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

Java Json格式数据规则总结

数据类型

类型 描述
Number 在JavaScript中的双精度浮点格式
String 双引号的反斜杠转义的Unicode
Boolean true 或 false
Array 值的有序序列
Value 它可以是一个字符串,一个数字,真的还是假(true/false),空(null )等
Object 无序集合键值对
Whitespace 可以使用任何一对中的令牌
null empty

Java实体之间的映射

JSON Java
string java.lang.String
number java.lang.Number
true|false ava.lang.Boolean
null null
array java.util.List
object java.util.Map

类型转换

1. String 转换为JSON对象

public class StringToJSON {
    public static void main(String[] args) throws JSONException{
        //定义JSON字符串
        String jsonStr = "{\"id\": 2," + 
                " \"title\": \"json title\", " + 
                "\"config\": {" +
                    "\"width\": 34," +
                    "\"height\": 35," +
                "}, \"data\": [" +
                    "\"JAVA\", \"JavaScript\", \"PHP\"" +
                "]}";
        
        //转换成为JSONObject对象
        JSONObject jsonObj = new JSONObject(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++) {
        }        
    }
}

2. JSON对象转换为String字符串

public static void main(String[] args) throws JSONException {
    //创建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();

    System.out.println(jsonStr);
}

最终输出结果为: [{"username":"wanglihong","height":12.5,"age":24}]

3. 集合转换为JSONArray对象

 

public static void main(String[] args) throws JSONException {     //初始化ArrayList集合并添加数据     List < String > list = new ArrayList < 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实战"}] }

总结

1. 使用基于JavaScript的应用程序,其中包括浏览器扩展和网站

2. 使用JSON格式序列化和结构化的数据传输网络连接

3. 主要用于服务器和Web应用程序之间的数据传输

4. Web服务和API采用JSON格式提供公共数据

5. 可以用来与现代编程语言

暂无相关信息

本文链接:https://www.webkfz.com/bianchengkaifa/Java/47340.html

版权声明:站内所有文章皆来自网络转载,只供分享作用,不代表本站的观点!

发表评论 共有 0 条评论)

联系客服
网站客服 业务合作 QQ
1244305267
公众号
公众号
公众号
返回顶部