Java JSON 创建与解析

添加Java 中 使用JSON 使用的包:

Java json 使用的包

 

1,创建基本JSON 

 

JSONObject jsonData = new JSONObject();
	jsonData.put("name", "小明");
	jsonData.put("age", 22);
	jsonData.put("sex", "man");
	jsonData.put("major", new String[]{"java","C++"});
	//json.put("data", jsonData);
	System.out.println(jsonData.toString());

 

 输出:

{"major":["java","C++"],"sex":"man","name":"小明","age":22}

这种创建JSON 的方式,并没有提供 Code 和data ,不太规范,更改如下:

2,创建带code 的json

JSONObject json = new JSONObject();
	json.put("code", 1);
	JSONObject jsonData = new JSONObject();
	jsonData.put("name", "小明");
	jsonData.put("age", 22);
	jsonData.put("sex", "man");
	jsonData.put("major", new String[]{"java","C++"});
	json.put("data", jsonData);
	System.out.println(json.toString());

输出:

{"code":1,"data":{"major":["java","C++"],"sex":"man","name":"小明","age":22}}

3,json 解析

 首先判断code 是否成功 (code == 1),成功了,解析 data 数据,data中带有JSONArray(major) 数据,解析中要注意。

private static void parseBaseJSON(String json)
	{
		JSONObject jsonObject = JSONObject.fromObject(json);
		int code = jsonObject.getInt("code");
		System.out.println("code =="+code);
		
		if(code == 1)
		{
		JSONObject data =  jsonObject.getJSONObject("data");
		String sex = data.getString("sex");
		System.out.println("sex =="+sex);
		int age = data.getInt("age");
		System.out.println("age =="+age);
		JSONArray jsArray = data.getJSONArray("major");
		for(int i = 0;i<jsArray.size();i++)
		{
			System.out.println("major =="+jsArray.get(i));
		}
		}
		/*JSONArray jsonData = jsonObject.getJSONArray("data");
		System.out.println(jsonData.toString());*/
		
	}

4,创建多个数据的JSON

对于data 包含多个数据的情况,要使用JSONArray 包装数据,如下:

JSONObject json = new JSONObject();
	json.put("code", 1);
	JSONObject jsonData = new JSONObject();
	jsonData.put("name", "小明");
	jsonData.put("age", 22);
	jsonData.put("sex", "man");
	jsonData.put("major", new String[]{"java","C++"});
	//json.put("data", jsonData);
	//System.out.println(json.toString());
	JSONArray jsonArray= new JSONArray();
	JSONObject jsonData2 = new JSONObject();
	jsonData2.put("name", "小明2");
	jsonData2.put("age", 27);
	jsonData2.put("sex", "man");
	jsonData2.put("major", new String[]{"php","c"});
	jsonArray.add(jsonData);
	jsonArray.add(jsonData2);
	json.put("code", 1);
	json.put("data", jsonArray);
	System.out.println(json.toString());

 输出:

{"code":1,"data":[{"major":["java","C++"],"sex":"man","name":"小明","age":22},{"major":["php","c"],"sex":"man","name":"小明2","age":27}]}

data 里包含两组数据。

解析过程:

 

private static void parseAdvanceJSON(String json)
	{
		JSONObject jsonObject = JSONObject.fromObject(json);
		int code = jsonObject.getInt("code");
		System.out.println("code =="+code);
		
		if(code == 1)
		{
		JSONArray jsArray =  jsonObject.getJSONArray("data");
		for(int i = 0;i<jsArray.size();i++)
		{
			JSONObject obj = jsArray.getJSONObject(i);
			String sex = obj.getString("sex");
			System.out.println("sex =="+sex);
			int age = obj.getInt("age");
			System.out.println("age =="+age);
			JSONArray jsArrayMajor = obj.getJSONArray("major");
			for(int j = 0;j<jsArrayMajor.size();j++)
			{
				System.out.println("major =="+jsArrayMajor.get(j));
			}
		}
		}
		
	}

以上就是JSON 的基本用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值