【注】:如果对json不了解的,博主有一篇博客关于如何“简单通俗的理解JSON和其语法”https://blog.csdn.net/my_name_is_zwz/article/details/81126357。和一篇博客简单介绍了一下封装json的方式https://blog.csdn.net/my_name_is_zwz/article/details/81127639。仅供参考,多多指教
1.导入fastjson的jar包
其可以在CSDN下载社区找到,也可以通过别的方式下载得到。然后将其复制粘贴到java工程的 JRE System Library中,如果提示cannot paste the clipboard contents,接下来就:右击项目名--->单击“Properties”-->Java Build Path-->Libraries-->单击“Add External JARs”然后在磁盘上找出下载的jar包点击OK就可以了。然后就会发现项目里在JRE System Library下面多出了一个Referenced Libraries,而刚刚导入的jar包就在里面。
2.fastjson对象创建以及map转json的代码如下:
package com.json;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class JsonTest {
//json对象的使用
public static void setFastJson() {
JSONObject root = new JSONObject();//创建json对象
root.put("errorCode", 0);//以键值对的形式向对象中加入值
root.put("errorMsg", "调用接口成功");
JSONObject userZwZ = new JSONObject();//创建json对象
userZwZ.put("username", "张文哲");//以键值对的形式向对象中加入值
userZwZ.put("position", "student");
JSONArray dataArr = new JSONArray();//创建“数组”
dataArr.add(userZwZ);
root.put("dataArr", dataArr);
System.out.println(root.toJSONString());
}
//通过map转换成json
public static void setMapToJSON() {
HashMap<String, Object> root = new HashMap<String, Object>();//创建map对象以键值对的形式存值
root.put("errorCode", 0);//以键值对的形式向对象中加入值
root.put("errorMsg", "调用接口成功");
List<Map<String, String>> dataArr = new ArrayList<Map<String, String>>();//创建存有map对象的链表即“数组”
Map<String, String> userZwZ = new HashMap<String, String>();
userZwZ.put("username", "张文哲");
userZwZ.put("position", "student");
dataArr.add(userZwZ);
root.put("dataArr", dataArr);
JSONObject jsonObject = new JSONObject();
System.out.println(jsonObject.toJSONString(root));//通过toJSONString( )方法将map转换成json对象
}
public static void main(String[] args) {
setFastJson();
setMapToJSON();
}
}
其运行结果如下:
{"dataArr":[{"position":"student","username":"张文哲"}],"errorCode":0,"errorMsg":"调用接口成功"}
{"dataArr":[{"position":"student","username":"张文哲"}],"errorCode":0,"errorMsg":"调用接口成功"}
可以看出,利用fastjson中封装好的方法,其已经转换成了json数据传输格式