alibaba fastjson GET List传参 和 接收解析

之前一直都是 get传的都是单字符串(例如 xxxxxxxxx?name={name};name=“woaini”;),并没有传list的.

GET List传参 问题场景

String url="xxxxxxxx?id={id}";
HashMap<String,Object> param =new HashMap<>();
param.put(id,ids);//ids是List
result=getForObject(url,JsonObject.class,param);
//然后从结构体里面解析
JSON.parsArray(result.getString("result"),xxx.class);

以上这样会在传List获取的时候就报错,这样子没法传
xxx/xxx?id=1,2,3
那就直接拼接喽

解决

String url="xxxxxxxx?id="
		+StringUtils.strip(groupIds.toString(),"[]"

转成[1,2,3]再把中括号去掉

JSONArray接收解析问题

result.getString(“result”) 解析出来是

{{id=1,name=2},{id=1,name=2}}

这无法直接JSON.parsArray,会报错

解决

所以要先转成JSONArray,再parsArray

List< A> AList= JSONObject.parseArray(
result.getJSONArray("result").toJSONString(), A.class)

你可能感兴趣的:(list,数据结构,java)