JSON字符串的构造和解析

本文提供了一个使用 Java 处理 JSON 数据的示例,包括构造 JSON 对象和数组、添加元素到 JSON 对象和数组,以及从 JSON 字符串中解析数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

</pre><pre name="code" class="java">package com.practice;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JSONTestMain {
	public static void main(String[] args) 
	{
		//obj是put(key,value),array是add,add类型也可以为jsonobject
		//构造字符串
		JSONObject obj=new JSONObject();
		obj.put("Name", "zhouyi");
		obj.put("Sex", 1);
		
		JSONArray details=new JSONArray();
		details.add("Language:Englis");
		details.add("Year:10");
		
		obj.put("Details",details);
		
		System.out.println(obj);
		
		 JSONObject json=new JSONObject();  
		    JSONArray jsonMembers = new JSONArray();  
		    JSONObject member1 = new JSONObject();  
		    member1.put("loginname", "zhangfan");  
		    member1.put("password", "userpass");  
		    member1.put("email","10371443@qq.com");  
		    member1.put("sign_date", "2007-06-12");  
		    jsonMembers.add(member1) ; 
		  
		    JSONObject member2 = new JSONObject();  
		    member2.put("loginname", "zf");  
		    member2.put("password", "userpass");  
		    member2.put("email","8223939@qq.com");  
		    member2.put("sign_date", "2008-07-16");  
		    jsonMembers.add(member2);
		    json.put("users", jsonMembers);  
		  
		    System.out.println(json.toString());
		    
		
		//解析字符串
		    String jsonString="{\"users\":[{\"loginname\":\"zhangfan\",\"password\":\"userpass\",\"num\":10371443},{\"loginname\":\"zf\",\"password\":\"userpass\",\"num\":822393}],\"except\":\"haha\"}";  
		    JSONObject json2=  JSONObject.fromObject(jsonString);  
		    System.out.println( json2.getString("except"));//非数组的采用getString/Int等
		    System.out.println( json2.get("except"));//也可采用get(key),如果是json对象则getJSONObject
		    JSONArray jsonArray=json2.getJSONArray("users");  
		    for(int i=0;i<jsonArray.size();i++){  
		        JSONObject user=(JSONObject) jsonArray.get(i);  
		        System.out.println(user.getInt("num")+" "+user.getString("loginname"));
		    }  
		    
		    
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值