jsonarray

循环取多层嵌套的JsonArray中的值,最后一层可以是JsonArray也可以是jsonObject

两盒软妹~` 提交于 2019-11-26 18:59:51
/** * @param jsonStr json字符串 * @param key 具体取值上一级对应的所有的 Key * @param value 具体取值对应的所有的key * @param type type 是最后一个key对应的是array还是jsonObject 如果true则对应的是jsonArray * @Author: * @Description:循环取JsonArray中具体的值 * @Date: 2018/8/3 11:09 * @Method jsonPattern2 * @Return java.util.List<java.lang.String> * 例:具体取值为clientName,instanceName * key传入的是'subClientProperties:subClientEntity' * value传入的是'clientName,instanceName' * type : false * { * "subClientProperties": [{ * "proxyClient": {}, * "subClientEntity": { * "clientName": "server-e37203ba", * "instanceName": "DefaultInstanceName", * "backupsetId": 3 * }

JSONUtils

你说的曾经没有我的故事 提交于 2019-11-26 17:30:43
ublic class JSONUtils { public static String getString(JSONObject response, String key) { String value = response.optString(key, ""); return value.equals("null") ? "" : value; } public static boolean isEmptyArray(JSONArray jsonArray) { return (jsonArray == null || jsonArray.length() == 0) ? true : false; } public static String[] decoding(JSONArray jsonArray) { if (isEmptyArray(jsonArray)) { return null; } int length = jsonArray.length(); String[] values = new String[length]; for (int i = 0; i < length; i++) { values[i] = jsonArray.optString(i); } return values; } public static JSONArray

使用 net.sf.json.JSONObject;进行JSONObject、JSONArray、Map、JavaBean的相互转换

旧巷老猫 提交于 2019-11-26 17:28:16
1,JSONObject json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} 2,JSONArray json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式的 Json对象中添加的是键值对,JSONArray中添加的是Json对象 1 import net.sf.json.JSONArray; 2 import net.sf.json.JSONObject; 3 import org.junit.Test; 4 5 import java.util.ArrayList; 6 import java.util.HashMap; 7 import java.util.Iterator; 8 9 public class JsonTest { 10 11 public static void main(String[] args) { 12 //----------------JsonObject创建的方法----------------------------------------------------------- 13 //创建JsonObject第一种方法 14 JSONObject jsonObject = new JSONObject(); 15 jsonObject.put("UserName", "kobi");

记录一个小问题,如果前端传递的参数是加密过的,需要在后台解密

和自甴很熟 提交于 2019-11-26 17:25:57
如果前端传递的参数是加密过的,需要在后台解密,有中文等特殊符号需要用到加密: 前端代码: $.ajax({ type: "POST", url: "/init/SaveToDatabase", dataType: "json", async: false, data: decodeURIComponent(JSON.stringify(array)), success: function (result) { var statusCode = result.StatusCode; console.log(statusCode); if (statusCode == 200) { layer.msg("成功:请求已经成功..."); } else if (statusCode == 500) { layer.msg("失败:请求失败,请重试...") } } }); 后台代码: 1 public JSONObject saveToDatabase(String jsonArray) throws UnsupportedEncodingException { 2 //前台传的数据是加密的,后端解密 3 jsonArray1 = URLDecoder.decode(jsonArray1, "utf-8"); 4 //踩过的坑,解密之后的数据最后一个字符多了一个=号,截取掉

多层嵌套json类型数据解析

徘徊边缘 提交于 2019-11-26 14:47:54
前段时间写了一个多层嵌套json数据对象,费了半天劲,记录一下 前端数据类似淘宝多条件搜索,json数据类型为key-value嵌套数组 前端为ajax传值 function searfunc(arr) { //arr为查询按钮之后输出的搜索条件 console.log(arr); $.ajax({ url:'/conprob/titleList', type:'post', contentType: "application/json", traditional: true, async : true, data:JSON.stringify(arr), 后台controller层用JSONArray接收数据类型   @RequestMapping(value = "titleList",produces = "application/json;charset=UTF-8") @ResponseBody public Object titleList(@RequestBody JSONArray jsonParam){ } service层进行拆分解析 for(int i = 0;i<jsonParam.size();i++){ JSONObject jsonObject=jsonParam.getJSONObject(i); String key = jsonObject

JSON中put、accumulate、elemate的区别

孤街浪徒 提交于 2019-11-26 07:27:20
JSONObject.put():将value映射到key下,加入在JSONObject对象之前存在一个value存在key下,当前的value会替换之前的value。 JSONObject.accumulate():累计这个vlue到这个key下,这个方法同elemate()方法类似,特殊的是,如果当前已存在一个value在这个key下,那么一个JSONArray将会存储在这个key下,来保留所有累计的value,如果已存在一个JSONArray,那么当前的value就会添加到这个JSONArray中。相比之下,replace方法会替代先前的value。 JSONObject.elemate():将键/值对放在这个JSONObject对象里,如果当前value为空(null),那么如果这个key存在的话,这个key就会移除掉,如果这个key之前由value值,那么此方法就回去调用.accumulate()方法。 来源: https://www.cnblogs.com/bai123/p/11316971.html

Java fastjson JSON和String互相转换

和自甴很熟 提交于 2019-11-25 21:59:27
1.fastjson List转JSONArray List<T> list = new ArrayList<T>(); JSONArray array= JSONArray.parseArray(JSON.toJSONString(list)); 2.fastjson JSONArray转List JSONArray array = new JSONArray(); List<EventColAttr> list = JSONObject.parseArray(array.toJSONString(), EventColAttr.class); 3.fastjson 字符串转List String str = ""; List<T> list = JSONObject.parseArray(str,T.class); 来源: https://www.cnblogs.com/fubinhnust/p/11930585.html