- 解析json数据(需要导入fastjson-1.2.2.jar)
package Tests;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
public class AnalysisData {
public static JSONObject jsonObject;
public static void test(){
String json = "{'first':'aaa','data':{'second':2},'datas':[{'third':'bbb'},{'third':'ccc'}]}";
jsonObject = JSONObject.parseObject(json);
System.out.println(jsonObject.getString("first"));
System.out.println(jsonObject.getJSONObject("data").getInteger("second"));
JSONArray jsonArray = jsonObject.getJSONArray("datas");
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject js = (JSONObject)jsonArray.get(i);
System.out.println(js.getString("third"));
}
}
public static void main(String[] args) {
test();
}
}
运行结果:
aaa
2
bbb
ccc
- 解析有分隔符的字符串
package Tests;
public class AnalysisData {
private static void test02(){
String s = "aaa,bbb,ccc,ddd";
String[] lists = s.split(",");
for (int i = 0; i < lists.length; i++) {
System.out.print(lists[i] + " ");
}
System.out.println();
String[] lists2 = s.split(",",3);
for (int i = 0; i < lists2.length; i++) {
System.out.print(lists2[i] + " ");
}
}
public static void main(String[] args) {
test02();
}
}
运行结果:
aaa bbb ccc ddd
aaa bbb ccc,ddd
如果分隔符为“|”则需要使用转义符来表示:String[] lists = s.split("\\|");
如果分隔符为“*”则需要使用转义符来表示:String[] lists = s.split("\\*");
如果分隔符为“\”则需要使用转义符来表示:String[] lists = s.split("\\\\");
如果分隔符为“.”则需要使用转义符来表示:String[] lists = s.split("[.]");
如果分隔符为“[]”则需要使用转义符来表示:String[] lists = s.split("\\[\\]");
3. 拼装json数据
JSONArray jsonArray1 = new JSONArray();
JSONObject jsonObject = new JSONObject();
JSONObject jsonObject1 = new JSONObject();
JSONObject jsonObject2 = new JSONObject();
{
jsonObject.put("a","aaa");
jsonObject.put("b",1);
jsonObject2.put("a","bbb");
jsonObject2.put("b",2);
jsonArray1.add(0,jsonObject);
jsonArray1.add(1,jsonObject2);
jsonObject1.put("datas",jsonArray1);
jsonObject1.put("c","ccc");
}
System.out.println(jsonObject1.toString());
运行结果:
{"c":"ccc","datas":[{"a":"aaa","b":1},{"a":"bbb","b":2}]}
-------待补充--------