JSON 的使用方法

JSON--JavaScript Object Notation,是一种轻量级的数据交互格式,本质是特定格式的字符串,相比xml更简洁,现在是客户端与服务器端交互的最常用选择,已经很少用xml了

JSON格式:1.JSON对象{key1:value1,key2:value2,}   2.JSON数组[value1,value2]

先考入jar包,其中json.jar是官方jar包,fastjson.jar是阿里巴巴开发的jar包,在解析JSON数据时,官方包不如阿里巴巴的使用方便,可以通过如下代码进行比较:

package com.hanqi.test;

public class User {

    private int userID;
    private String userName,password;
    public User(int userID, String userName, String password) {
        super();
        this.userID = userID;
        this.userName = userName;
        this.password = password;
    }
    public int getUserID() {
        return userID;
    }
    public void setUserID(int userID) {
        this.userID = userID;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public User() {
        super();
    }
    @Override
    public String toString() {
        return "User [userID=" + userID + ", userName=" + userName + ", password=" + password + "]";
    }
}
package com.hanqi.test;

import java.util.ArrayList;
import java.util.List;

import org.json.JSONException;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class TestJSON {

    public static void main(String[] args) {
        //测试JSON解析 

        //1从对象(集合)到JSON字符串

        User u1 = new User(999,"tom","123456");

        //导入阿里巴巴   JSON对象  jar包
        String ju1=JSONObject.toJSONString(u1);
        System.out.println("ju1="+ju1);

        //集合
        List<User> lu = new ArrayList<User>();
        lu.add(new User(111,"User1","111"));
        lu.add(new User(222,"User2","111"));
        lu.add(new User(333,"User3","111"));
        lu.add(new User(444,"User4","111"));

        //导入阿里巴巴 JSON集合  jar包
        String jlu = JSONArray.toJSONString(lu);
        System.out.println("jlu="+jlu);

        //2从JSON字符串到集合(对象)
        //阿里巴巴JSON 可以直接将JSON字符串转为对象
        User u2 =JSONObject.parseObject(ju1,User.class);
        System.out.println("u2="+u2);

        try {
            //名字冲突使用全路径  官方jar包
            //官方jar包不能直接转为对象,只能获取对象的单个值
            org.json.JSONObject jo = new org.json.JSONObject(ju1);

            int userid = jo.getInt("userID");            //只能获取单个值
            System.out.println("userID="+userid);

        } catch (JSONException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }
        //字符串集合
        //使用阿里巴巴jar包可以直接得到对象的集合
        List<User> lu2 = JSONArray.parseArray(jlu,User.class);
        //遍历集合
        for(User u:lu2)
        {

            System.out.println(u);
        }

        try {
            //使用官方jar包 必须解析JSON数组
            org.json.JSONArray ja = new org.json.JSONArray(jlu);

            //使用官方jar包   解析JSON数组时一次只能获取其中的一个JSON对象
            org.json.JSONObject  u3=  ja.getJSONObject(0);

            System.out.println("u3="+u3);

        } catch (JSONException e) {
            // TODO 自动生成的 catch 块
            e.printStackTrace();
        }

    }

}

时间: 2024-10-09 02:07:19

JSON 的使用方法的相关文章

获取JSON长度的方法

一.JSON获取代码: function getJsonLength(jsonData){     //获取JSON长度的方法     var jsonLength = 1;     for(var item in jsonData){         jsonLength++;     }     return jsonLength; } 二.调试: //console.log(getJsonLength(content)); for(var i=1;i<getJsonLength(conte

JSON的put方法是一个指针引用

JSON的put方法是一个指针引用; import org.json.simple.JSONObject; JSONObject a=new JSONObject(); a.put("date","2015-11-08");a.put("time","15:48:28"); a.toJSONString() --> {"date":"2015-11-08","time&q

java 中关于json的使用方法

json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [{"id":1,"name":"name1","password":"password1","remark":"remark1"},{"id":2,&

js 将json字符串转换为json对象的方法解析(转)

js 将json字符串转换为json对象的方法解析 将json字符串转换为json对象的方法.在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键 例如: JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": &

jQ实现JSON.stringify(obj)方法

jQstringify是使用jQuery实现的JSON.stringify(obj)方法 代码如下:<script type="text/javascript" src="http://keleyi.com/keleyi/pmedia/jquery/jquery-1.10.2.min.js"></script> function jQstringify( obj ) {var arr = [];$.each( obj, function( k

C#将datatable数据转换成JSON数据的方法

json数据类型格式:[{id:"1",code:"1",description:"博士"},{id:"2",code:"2",description:"硕士"},{id:"3",code:"3",description:"学士"}] //参考代码public string DataTableToJson(string json

jackson 解析json含有不规则的属性的json字符串的方法

对于json中含有点号,等其他特殊的,不是规范的java变量名的字符,可以使用一个注解来处理. 贴代码: import com.fasterxml.jackson.annotation.JsonProperty; public class Api { private Bean APISSInshopApi; @JsonProperty("API.SSInshopApi") public Bean getAPISSInshopApi() { return APISSInshopApi;

返回值是JSON的阿贾克斯方法

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

js便利json 数组的方法

js便利json 数组的方法 通过Jason对象获取里面某个键的值方法: 1,对象["键"]. 2,对象.键. 这篇文章主要介绍了JQuery遍历json数组的3种方法,本文分别给出了使用each.for遍历json的方法,其中for又分成两种形式,需要的朋友可以参考下 $(function () { var tbody = ""; //------------遍历对象 .each的使用------------- //对象语法JSON数据格式(当服务器端回调回来的对

Ajax获取显示Json数据的方法

<span style="color:#3333FF;"> </span><span style="color:#3333FF;">public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; //--构建json格式数据 //string jsonArr = "{'Id':