Java 转JSON串

一、JSON (JavaScript Object Notation)

  1、轻量级数据交换格式能够替代XML的工作
  2、数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小(简洁、简单、体积小)
  3、易于解析这种语言, 客户端JavaScript可以简单的通过eval()进行JSON数据的读取
  4、服务器端的解析,跨语言(包括ActionScript, C, C#, ColdFusion,Java,JavaScript,Perl,PHP,Python,Ruby等语言服务器端语言)
  5、各语言对JSON支持的特别好,自从Ajax的流行,JSON格式传输就更流行了
  6、它是前端和后台交互用的。
  7、它是键值对的

二、Java的转JSON串的方式:
  1、JAVA将对象转成JSON串
  2、通过的JSONObject生成JSON串
  3、通过JSON字符串生成JSON串
  4、代码通过阿里的FASTJSON包实现

package com.zpark;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.junit.Test;

/**
 * @author cosmo
 * @Title: JsonJunit
 * @ProjectName  
 * @Description:  
 * @date  
 */
public class JsonJunit {

    @Test
    public void testJson(){
        //1 JAVA将对象转成JSON串
        Student s = new Student();
        s.setId("0001");
        s.setName("lisi");
        s.setAge(18);
        s.setMark(90.0);
        String json1 = JSON.toJSON(s).toString();
        System.out.println(json1);

        //2 JSONObject生成JSON串
        JSONObject jObject=new JSONObject();
        jObject.put("username", "zhangsan");
        jObject.put("sex", "男");
        jObject.put("age", 28);
        jObject.put("email", "123456789@qq.com");
        JSONArray jArray=new JSONArray();
        jObject.put("studentList", jArray);
        String json2=jObject.toJSONString();
        System.out.println(json2);

        //3 JSON字符串生成JSON串
        JSONObject jObject2=new JSONObject();
        //构造JSON字符串
        String cardjsonStr1="{"username":"xiaoming","sex":"男","age":8}";
        String cardjsonStr2="{"username":"lihua","sex":"女","age":18}";
        JSON.parseObject(cardjsonStr1);
        JSONArray jArray2=new JSONArray();
        //将JSON字符串转成JSON对象,加入到JSONArray
        //注意一定要用JSON.parseObject()方法转换成JSON对象,否则还是字符串,转成JSON串的时候会带双引号
        jArray2.add(JSON.parseObject(cardjsonStr1));
        jArray2.add(JSON.parseObject(cardjsonStr2));
        jObject2.put("studentList", jArray2);
        String json3=jObject2.toJSONString();
        System.out.println(json3);
    }
}
原文地址:https://www.cnblogs.com/qinxu/p/10135453.html