一、json文件
json是一个轻量级的数据交换格式。它是基于javascript的一个子集。
两种基础结构:对象、数组
对象(名称/值对):
数组:
二、读json
feedbackoffice.json文件在项目中intf目录下,该文件路径需要使用以下截图getRealPath方法读取。
getRealPath()取出该项目在系统的绝对路径,后面红色的部分为 文件在项目中的相对路径。
把 项目在系统的绝对路径 与 文件在项目中的相对路径 拼接起来,就可以使用读文件方法读取文件。
读文件的方法如下图:(传入文件路径、编码,取出文件内容)
以上取出的文件内容为普通文件内容,并非json格式,故从第一个截图中可以看到通过了 JSONObject json=JSONObject.parseObject(fileContent),来对string转化为json格式的输出
三、取json、与long、int、string之间的转换
获得json格式的文件后,直接通过get方法即可取出json格式文件的某个对象,如下图:
上图中不仅取了json对象,且分别将object对象的json数据转化为了 long,int,string类型。具体转化方法如下截图:
四、写json
先指定json输出路径
然后是json输出内容
最后是输出json
五、java解析json数组
通过以下例子来说明:
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public static void main(String[] args) throws JSONException {
String sJson = "[{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'1','spsl':'2'},{'gwcxxid':'3','spsl':'4'}]"; //json格式的字符串
JSONArray jsonArray = new JSONArray(sJson); //把字符串转换为json数组
for (int i = 0; i < jsonArray.size(); i++) { //遍历json数组
JSONObject jsonObj = jsonArray.getJSONObject(i); //转换为json对象
System.out.println("[" + i + "]gwcxxid=" + jsonObj.get("gwcxxid")); //取json对象中的值
System.out.println("[" + i + "]spsl=" + jsonObj.get("spsl"));
}
}
上面例子,可对json数组进行处理。如果action post过来的是一个参数,我们就需要用字符串来接收参数,然后把字符串转换为json数组。而不是直接用一个json来接收json格式的字符串。