博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON笔记
阅读量:5024 次
发布时间:2019-06-12

本文共 4113 字,大约阅读时间需要 13 分钟。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。比XML更灵活易用,适合网络数据格式传输。

网上看到的JSON解析与构造工具主要有org.json和json-lib,评价是org.json更轻量简单,因此先尝试使用org.json

需要在网上下载json.org.jar jar包,使用时需要导入到工程的lib中。

JSONObject:可以看作是一个json对象,这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。用JSONObject生成的文本,不是按顺序排列的。

JSONStringer:json文本构建类 ,根据官方的解释,这个类可以帮助快速和便捷的创建JSON text。其最大的优点在于可以减少由于 格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntax rules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text。。其最大的优点在于可以减少由于格式的错误导致程序异常,引用这个类可以自动严格按照JSON语法规则(syntax rules)创建JSON text。每个JSONStringer实体只能对应创建一个JSON text。

JSONArray:它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”分隔(例如:     [value1,value2,value3],大家可以亲自利用简短的代码更加直观的了解其格式)。这个类的内部同样具有查询行为,     get()和opt()两种方法都可以通过index索引返回指定的数值,put()方法用来添加或者替换数值。同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。

JSONTokener:json解析类

JSONException:json中用到的异常 

 

分别使用JSONObject和JSONStringer构造JSON文本的例子

1 package jsonDemo;   2    3 import org.json.JSONException;   4 import org.json.JSONObject;   5 import org.json.JSONStringer;   6 import org.json.JSONArray; 7 import org.json.JSONTokener;  8 import org.junit.Test;   9 import java.net.URLDecoder;10 import java.net.URLEncoder;11 12 13 public class JSONObjectTest {  14   15     //@Test  16 17     private static String prepareJSONObject(){  18         JSONObject studentJSONObject = new JSONObject();  19         try {  20             studentJSONObject.put("name", "Jason");  21             studentJSONObject.put("id", 20130001);  22             studentJSONObject.put("phone", "13579246810");  23         } catch (JSONException e) {  24             e.printStackTrace();  25         }  26           27         return studentJSONObject.toString();  28     }  29       30     private static String prepareJSONObject2(){  31         JSONStringer jsonStringer = new JSONStringer();  32         try {  33             jsonStringer.object();  34             jsonStringer.key("1");  35             jsonStringer.value("11:22:33:44:55:66");  36             jsonStringer.key("2");  37             jsonStringer.value("12:23:34:45:56:67");  38             jsonStringer.key("3");  39             jsonStringer.value("99:88:77:66:55:44");  40             jsonStringer.endObject();  41         } catch (JSONException e) {  42             e.printStackTrace();  43         }  44         return jsonStringer.toString();  45     }  46     private static String prepareJSONarray(){  47         JSONArray jsonArray1 = new JSONArray();  48         try {49             JSONObject Json = new JSONObject();          50             Json.put("key", "value");51             jsonArray1.put(Json);52         } catch (JSONException e) {  53             e.printStackTrace();  54         }  55         return jsonArray1.toString();  56     }  57     58     //private static String JSONText = "{\"id\":20130001,\"phone\":\"13579246810\",\"name\":\"Jason\"}";        59     private static String getJSONContent(String JSONText){  60         JSONTokener jsonTokener = new JSONTokener(JSONText);   61         JSONObject macJSONObject;  62         String mac1 = null;  63         String mac2 = null;  64         String mac3 = null;  65         try {  66             macJSONObject = (JSONObject) jsonTokener.nextValue();  67             mac1 = macJSONObject.getString("1");  68             mac2 = macJSONObject.getString("2");  69             mac3 = macJSONObject.getString("3");  70               71         } catch (JSONException e) {  72             e.printStackTrace();  73         }  74         return mac1 + "  " + mac2 + "   " + mac3;  75     }  76     77     78     79     public static void main(String[] args)  {  80         //System.out.println(prepareJSONObject());81         String jstring=prepareJSONObject2();82         System.out.println(jstring); 83         String urlStr = URLEncoder.encode(jstring);84         System.out.println(urlStr); 85         String content= getJSONContent(jstring);86         System.out.println(URLEncoder.encode(content));87         //System.out.println(prepareJSONarray());88     }  89       90   91 }

 

转载于:https://www.cnblogs.com/taurusfy/p/5462139.html

你可能感兴趣的文章
C#微信登录-手机网站APP应用
查看>>
HTML5实践 -- iPhone Safari Viewport Scaling Bug
查看>>
1.4 - 数据类型/字符编码练习题
查看>>
JAVAWEB 一一 Hibernate(框架)
查看>>
函数式编程基础(F#,JS)
查看>>
IntelliJ IDEA使用教程
查看>>
将ASP.NET页面内的数据导出到Excel 或 Word中
查看>>
unity入门笔记
查看>>
html5的cavans
查看>>
闰年测试
查看>>
JSP笔记(一)
查看>>
Android工具HierarchyViewer 代码导读(1) -- 功能实现演示
查看>>
Java基础——多态
查看>>
python-Django与Nginx整合gunicorn模块
查看>>
Java--集合框架
查看>>
基础 - client可视区域
查看>>
JavaScript中正则表达式判断匹配规则以及常用的方法
查看>>
201571030334/201571030323实验三 软件工程结对项目
查看>>
BZOJ 1452: [JSOI2009]Count [二维树状数组]
查看>>
BZOJ 4276: [ONTAK2015]Bajtman i Okrągły Robin [线段树优化建边]
查看>>