【1、Java创建一个简单的Json】
/*创建一个简单的
* Json字符串
*/
public static String createJsonStr(String key, Object value) {
JSONObject jsonObject = new JSONObject();
jsonObject.put(key, value);
return jsonObject.toString();
}
public static void main(String[] args) {
String jsonstr = createJsonStr("red","ant");
System.err.println("Json字符串"+jsonstr);
}
我们得到一个Json对象
【2、JSONObject与JSONArray】
JSONObject,是一个Json对象,使用的是大括号{ }。
JSONArray,是一个Json数组,使用[],数组里面的项也是Json键值对格式的。
JSONObject对象中添加的是键值对,使用Json.put("key", "value");
JSONArray中添加的是Json对象,使用JsonArray.add(Json)。
也就是说
/*
* 创建一个简单的Json
*/
public static JSONObject createJson(String key, Object value) {
JSONObject jsonObject = new JSONObject();
jsonObject.put(key, value);
return jsonObject;
}
public static void main(String[] args) {
JSONArray jsonarry = new JSONArray();
jsonarry.add(createJson("red","ant"));
jsonarry.add("redAnt20190715");
JSONObject jsonObject = new JSONObject();
jsonObject.put("redant", jsonarry);
jsonObject.put("red_ant", createJson("2019","0715"));
System.err.println(jsonarry);
System.err.println(jsonObject);
}
得到
也就是说,原理很简单。但组合起来,就是个很庞大的数据。但是知道其中的组成原理,又可以一眼看穿整个结构。
例如,【4】。
【3、JSONObject与Map】
上面说JsonObject是一个键值对的关系对象,那么提到键值对我们首先想到的是Map数组。这两有什么区别呢?
Map中的键值对用等号=分开,Json中的键值对中间使用冒号:分开。
这么看来,Json是一种特殊形式的Map,或者Map是一种特殊形式的Json。怎么形容完全取决于这两谁出生的早,但是依照编译器来说Json是一种特殊形式的Map。因为
【4、JSONObject与JSONArray组合出的例子】
package com.css.java.learning.json;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonExp {
/**我们有一个手机大品类
* 该品类下分各个厂商的手机
* 手机的属性有
* 像素,图片,cpu等等
* 用Json表示
*/
public static JSONObject createTestJson() {
//首先我们分析最外围是一个Jsonobject,放置一个手机的大品类
JSONObject jobject = new JSONObject();
//下分各个厂商,说明是一个数组,该数组存放各个厂商
JSONArray jsarry = new JSONArray();
{ //某某手机
JSONObject jobject1 = new JSONObject();
jobject1.put("pinpai品牌", "3123131qeqw");
jobject1.put("像素", "3131qwdwqd");
jobject1.put("cpu", "313asdas");
jobject1.put("电池", "313dd");
jobject1.put("图片", "adsdd1223");
jobject1.put("生产日期", "31adada");
jobject1.put("价格", "dad1313");
jsarry.add(jobject1);
//另一个手机
JSONObject jobject2 = new JSONObject();
jobject2.put("pinpai品牌", "13213");
jobject2.put("像素", "3wqewqeq");
jobject2.put("cpu", "3131dqa");
jobject2.put("电池", "1312dd");
jobject2.put("图片", "313dd");
jobject2.put("生产日期", "ddaddad1");
jobject2.put("价格", "3131xdad");
jsarry.add(jobject2);
}
jobject.put("dapinlei大品类", jsarry);
return jobject;
}
public static void main(String[] args) {
System.err.println(createTestJson());
}
}
于是我们得到
原文:https://blog.51cto.com/13479739/2420512