java操作json

来源:互联网 发布:2017大数据公司排名 编辑:程序博客网 时间:2024/05/17 07:57

一、所需jar包(http://download.csdn.net/detail/huangzebiao007/6394831)

二、JSON 语法简介

· 数据在名称/值对中

· 数据由逗号分隔

· 花括号保存对象

· 方括号保存数组

示例:

1、一个有三个属性的User对象

{"id":1,"name":"hzb","age":24}

2、一个有2个User对象的List数组

[{"id":1,"age":24,"name":"hzb"},{"id":2,"age":23,"name":"cxd"}]

3、"employees" 是键,值是数组(数组中有三个对象)。每个对象代表一条关于某人(有姓和名)的记录。

{

"employees": [

{ "firstName":"John" , "lastName":"Doe" },

{ "firstName":"Anna" , "lastName":"Smith" },

{ "firstName":"Peter" , "lastName":"Jones" }

]

}

三、java操作json示例

package com.hzb;import java.util.ArrayList;import java.util.List;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import com.hzb.po.User;public class JsonTest {public static void main(String[] args) {List<User> users = new ArrayList<User>();User user = new User(1,"hzb",24);users.add(user);users.add(new User(2,"cxd",23));String message = JSONObject.fromObject(user).toString();//对象转换为json格式的字符串System.out.println(message);String messages = JSONArray.fromObject(users).toString();//数组集合转换为json格式的字符串System.out.println(messages);String json = "{\"id\":1,\"name\":\"hzb\",\"age\":24}";JSONObject obj = JSONObject.fromObject(json);//json格式的字符串转化为json对象,从而操作对象中的数据System.out.println(obj.getInt("id")+"::"+obj.getString("name")+"::"+obj.get("age").toString());}}package com.hzb.po;public class User {    private int id;    private String name;    private int age;    public User(){    }    public User(int id, String name, int age){        this.id = id;        this.name = name;        this.age = age;    }    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    } 
运行结果:

{"id":1,"name":"hzb","age":24}
[{"id":1,"age":24,"name":"hzb"},{"id":2,"age":23,"name":"cxd"}]
1::hzb::24

四、对数组进行操作

JSONObject jsonObj= JSONObject.fromObject(message);JSONArray array = jsonObj.getJSONArray("ACard");String[] arrays = new String[array.size()];  for(int i=0;i<array.size();i++){  arrays[i]=array.getString(i);          }         JSONArray array = JSONArray.fromObject(str);        Room[] rooms = new Room[array.size()];          Room room = null;        JSONObject obj = null;        for(int i=0;i<array.size();i++){              obj = array.getJSONObject(i);            room = new Room();            room.setAntes(obj.getInt("antes"));            room.setJid(obj.getString("jid"));            room.setName(obj.getString("name"));            room.setPrivateRoom(obj.getString("privateRoom"));            room.setTime(obj.getLong("time"));            rooms[i] = room;        }

五、创建json字符串

JSONObject obj = new JSONObject();obj.put("seat", "A");obj.put("antes", 50);obj.put("jid", "123456789874@publicroom.qc-openfire");System.out.println(obj.toString());


原创粉丝点击