json 在java 中的应用

json在数据传输中经常会用到,尤其是在大量数据传输或者异步传输中,下面在互联网上搜集一些使用的例子,总结一下,以供日后的更加熟练。

JSONObject类(往往与JSONArray结合起来用,最常用了)

例子:

package javaJsonAPI;

import org.json.JSONObject;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        JSONObject jsonObject = new JSONObject({'name':'DarkRake','age':21});
        System.out.println(jsonObject.get(name));
        System.out.println(jsonObject.get(age));
    }
}
JSONArray类 案例:
package javaJsonAPI;

import org.json.JSONArray;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        String strs[] = { one, two, three };
        JSONArray myjson = new JSONArray(strs);
        for (int i = 0; i < myjson.length(); i++) {
            System.out.println(myjson.getString(i));
        }
    }
}
JSONObject与JSONArray类结合使用
package javaJsonAPI;

import org.json.JSONObject;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        String str = {address: {Province: {ProvinceName: 安徽,City: [{CityName: 六安,   own: [金安区,舒城] },{CityName: 合肥,  own: [肥东,肥西]}]}}};
        JSONObject jo = new JSONObject(str);
        String ProvinceName = jo.getJSONObject(address)//
                .getJSONObject(Province).get(ProvinceName).toString();//
        System.out.println(ProvinceName);
        String cityName = jo.getJSONObject(address).getJSONObject(Province)//
                .getJSONArray(City).getJSONObject(0).get(CityName)//
                .toString();
        System.out.println(   + cityName);
        String town1 = jo.getJSONObject(address).getJSONObject(Province)//
                .getJSONArray(City).getJSONObject(0).getJSONArray(town)//
                .get(0).toString();
        System.out.println(      + town1);
        String town2 = jo.getJSONObject(address).getJSONObject(Province)//
                .getJSONArray(City).getJSONObject(0).getJSONArray(town)//
                .get(1).toString();
        System.out.println(      + town2);
    }
}
JSONStringer

->快速构建一个JSON串,并可以写入文件中去
基本方法介绍:
JSONStringer是JSONWriter的子类;

JSONStringer一般通过object().key().value().key().value().endObject()进行构造;

JSONString ():构造函数

object()表明开始一个对象,即添加{ ;

endObject()表明结束一个对象,即添加 } ;

array()表明开始一个数组,即添加一个 [ ;

endArray()表明结束一个数组,即添加一个 ] ;

key()表示添加一个key;

value()表示添加一个value;

注意:通过该方法,Object之间的“,”以及Array数组各个value之间的“,”都是自动添加的

简单案例:

package javaJsonAPI;

import org.json.JSONStringer;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        JSONStringer js = new JSONStringer();
        js.array();
            js.object();
                js.key(name);
                js.value(hj);
                js.key(age);
                js.value(21);
            js.endObject();
            js.object();
                js.key(name);
                js.value(darkrake);
                js.key(age);
                js.value(21);
            js.endObject();
        js.endArray();
        System.out.println(js.toString());
    }
}
综合案例:
package javaJsonAPI;

import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONStringer;

public class JsonArrayTest {
    /*
     * 表示我没有在官网http://www.json.org/里面找到json的jar包 ,这里我的解决 方案是下载官网提供的源文件*.java
     * 项目里面建了一个名为org.json的package,把源文件都导入进去了,其实和在classpath中导入jar包没有区别
     */
    public static void main(String args[]) {
        JSONStringer js = new JSONStringer();
        // 创建book1
        JSONObject book1 = new JSONObject();
            book1.put(name, Java);
            JSONArray ja1 = new JSONArray();
            String str1[] = { LiuWANJUN, XXX };
            ja1.put(str1);
            book1.put(author, ja1);
            book1.put(price, ¥108);
        // 创建book2
        JSONObject book2 = new JSONObject();
            book2.put(name, JavaScript);
            JSONArray ja2 = new JSONArray();
            String str2[] = { LiSongFeng, CaoLi };
            ja2.put(str2);
            book2.put(author, ja2);
            book2.put(price, ¥108);
        js.object();
            js.key(Book);
            js.array();
                js.value(book1);
                js.value(book2);
            js.endArray();
        js.endObject();
        System.out.println(js.toString());
    }
}
{
  Book: [
    {
      author: [
        [
          LiuWANJUN,
          XXX
        ]
      ],
      price: ¥108,
      name: Java
    },
    {
      author: [
        [
          LiSongFeng,
          CaoLi
        ]
      ],
      price: ¥108,
      name: JavaScript
    }
  ]
}

转换成XML即为:

<book>
        LiuWANJUN</author>
        XXX</author>
        <price>¥108</price>
        <name>Java</name>
    </book>
    <book>
        LiSongFeng</author>
        CaoLi</author>
        <price>¥108</price>
        <name>JavaScript</name>
    </book>
总结:

1.JSON是一种数据交换的格式,在web项目中具有着广泛的应用,尤其是AJAX一步加载数据,往往都是用json格式的数据,而不是传统的XML;
2.JSON只有两种结构,Object和Array
3.不知道我写的有没有错,我也是参考了别人的学习方案进行学习和理解的,下周有时间,抽空学习前段JSON的应用吧,这里写的主要是Java后台的操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值