您的位置:首页 > 编程语言 > Java开发

java json

2015-09-25 15:08 661 查看
创建json

Java代码  


//construct json and output it    

public String jsonTest() throws JSONException{  

    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.put(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.put(member2);  

    json.put("users", jsonMembers);  

  

    return json.toString();  

}  

 解析json 

Java代码  


//construct json from String and resolve it.  

public String jsonTest2() throws JSONException{  

    String jsonString="{\"users\":[{\"loginname\":\"zhangfan\",\"password\":\"userpass\",\"email\":\"10371443@qq.com\"},{\"loginname\":\"zf\",\"password\":\"userpass\",\"email\":\"822393@qq.com\"}]}";  

    JSONObject json= new JSONObject(jsonString);  

    JSONArray jsonArray=json.getJSONArray("users");  

    String loginNames="loginname list:";  

    for(int i=0;i<jsonArray.length();i++){  

        JSONObject user=(JSONObject) jsonArray.get(i);  

        String userName=(String) user.get("loginname");  

        if(i==jsonArray.length()-1){  

            loginNames+=userName;  

        }else{  

            loginNames+=userName+",";  

        }  

    }  

    return loginNames;  




JSONObject与JSONArray的使用

 

Java不像PHP解析和生产JSON总是一个比较痛苦的过程。但是使用JSONObject和JSONArray会让整个过程相对舒服一些。

需要依赖的包:commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar  ezmorph.jar json-lib-2.2.2-jdk15.jar

1. 创建一个JSONObject对象:

 
package com.yunos.tv.video.resource.controller.web;

import java.util.ArrayList;
import java.util.HashMap;

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

public class Test {

public static void main(String[] args) {
//JsonObject和JsonArray区别就是JsonObject是对象形式,JsonArray是数组形式
//创建JsonObject第一种方法
JSONObject jsonObject = new JSONObject();
jsonObject.put("UserName", "ZHULI");
jsonObject.put("age", "30");
jsonObject.put("workIn", "ALI");
System.out.println("jsonObject1:" + jsonObject);

//创建JsonObject第二种方法
HashMap<String, String> hashMap = new HashMap<String, String>();
hashMap.put("UserName", "ZHULI");
hashMap.put("age", "30");
hashMap.put("workIn", "ALI");
System.out.println("jsonObject2:" + JSONObject.fromObject(hashMap));

//创建一个JsonArray方法1
JSONArray jsonArray = new JSONArray();
jsonArray.add(0, "ZHULI");
jsonArray.add(1, "30");
jsonArray.add(2, "ALI");
System.out.println("jsonArray1:" + jsonArray);

//创建JsonArray方法2
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("ZHULI");
arrayList.add("30");
arrayList.add("ALI");
System.out.println("jsonArray2:" + JSONArray.fromObject(arrayList));

//如果JSONArray解析一个HashMap,则会将整个对象的放进一个数组的值中
System.out.println("jsonArray FROM HASHMAP:" + JSONArray.fromObject(hashMap));

//组装一个复杂的JSONArray
JSONObject jsonObject2 = new JSONObject();
jsonObject2.put("UserName", "ZHULI");
jsonObject2.put("age", "30");
jsonObject2.put("workIn", "ALI");
jsonObject2.element("Array", arrayList);
System.out.println("jsonObject2:" + jsonObject2);

}
}


 

结果:

 
jsonObject1:{"UserName":"ZHULI","age":"30","workIn":"ALI"}
jsonObject2:{"workIn":"ALI","age":"30","UserName":"ZHULI"}
jsonArray1:["ZHULI","30","ALI"]
jsonArray2:["ZHULI","30","ALI"]
jsonArray FROM HASHMAP:[{"workIn":"ALI","age":"30","UserName":"ZHULI"}]
jsonObject2:{"UserName":"ZHULI","age":"30","workIn":"ALI","Array":["ZHULI","30","ALI"]}


 

解析JSON字符串:

 
package com.yunos.tv.video.resource.controller.web;

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

public class Test {

public static void main(String[] args) {
String jsonString = "{\"UserName\":\"ZHULI\",\"age\":\"30\",\"workIn\":\"ALI\",\"Array\":[\"ZHULI\",\"30\",\"ALI\"]}";
//将Json字符串转为java对象
JSONObject obj = JSONObject.fromObject(jsonString);
//获取Object中的UserName
if (obj.has("UserName")) {
System.out.println("UserName:" + obj.getString("UserName"));
}
//获取ArrayObject
if (obj.has("Array")) {
JSONArray transitListArray = obj.getJSONArray("Array");
for (int i = 0; i < transitListArray.size(); i++) {
System.out.print("Array:" + transitListArray.getString(i) + " ");
}
}
}
}


返回:

 

 
UserName:ZHULI
Array:ZHULI Array:30 Array:ALI
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json