包含转义字符的JSON的处理

  • Post author:
  • Post category:其他


1.主要是用com.alibaba.fastjson和 net.sf.json 的jar包

String res="\"[{\\\"state\\\":\\\"0\\\",\\\"imei\\\":\\\"865120000034700\\\",\\\"gpsdate\\\":\\\"2018-07-04 10:52:36\\\",\\\"heartdate\\\":\\\"2018-07-04 11:09:25\\\",\\\"latitude\\\":32.167676,\\\"longitude\\\":118.70517,\\\"speed\\\":0,\\\"accStatus\\\":0,\\\"direction\\\":0,\\\"status\\\":3,\\\"time\\\":\\\"23小时17分48秒\\\"},{\\\"state\\\":\\\"0\\\",\\\"imei\\\":\\\"865120000034699\\\",\\\"gpsdate\\\":\\\"2018-07-04 10:56:28\\\",\\\"heartdate\\\":\\\"2018-07-04 11:15:34\\\",\\\"latitude\\\":32.167647,\\\"longitude\\\":118.705115,\\\"speed\\\":0,\\\"accStatus\\\":0,\\\"direction\\\":0,\\\"status\\\":3,\\\"time\\\":\\\"23小时11分39秒\\\"}]\"\n";
String str = com.alibaba.fastjson.JSON.parseObject(res,String.class);
JSONArray jsonArray = JSONArray.fromObject(str);


List<GpsDataVO> lists=(List<GpsDataVO>) jsonArray.toCollection(jsonArray,GpsDataVO.class);
for (GpsDataVO j:lists){
    System.out.println(j.getState());
}

2.创建jsonObject对象

// 创建JSONObject对象
private static JSONObject createJSONObject() {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("ret", new Integer(0));
    jsonObject.put("msg", "query");

    JSONObject dataelem1=new JSONObject();
    dataelem1.put("deviceid", "141432123");
    dataelem1.put("latitude", "32.140");
    dataelem1.put("longitude", "118.640");

    JSONObject dataelem2=new JSONObject();
    dataelem2.put("deviceid", "1414231312");
    dataelem2.put("latitude", "32.140");
    dataelem2.put("longitude", "118.640");

    // 返回一个JSONArray对象
    JSONArray jsonArray = new JSONArray();
    jsonArray.add(0, dataelem1);
    jsonArray.add(1, dataelem2);
    jsonObject.element("data", jsonArray);


    return jsonObject;
}
public static void main(String [] args){
    JSONObject jsonObject = JsonArry.createJSONObject();//静待  方法,直接通过类名+方法调用
    // 输出jsonobject对象
    System.out.println("jsonObject:" + jsonObject);
   // 根据key返回一个字符串
    String ret = jsonObject.getString("ret");
    System.out.println("ret==>" + ret);
    

}



版权声明:本文为liwen19870618原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。