数组怎么转json格式???? 20C

这个是我存入数据库的 [[name=406,params=[40600, 40601]], [name=408,params=[40802, 40803]]]
怎么转化成[{“name”: "406", "params": ["40600", "40601", "40602"]},{},.......]就是这种格式的
现在我试了 net.sf.json.JSONArray js = net.sf.json.JSONArray.fromObject(ind.getParameter());这种 不行
求大神指点!!!!!!!!!!!

7个回答

刚好我也遇到过这个问题,可以试一下com.alibaba.fastjson.JSON 这个包,实测可以转换

public static final String toJSONString(Object object) {
    return toJSONString(object, new SerializerFeature[0]);
}

    可是目测你这个params好像很难转成json格式
lesliehj
lesliehj 回复m0_37206072: 这数据格式跟json格式还是有点不同
一年多之前 回复
m0_37206072
hessye001 你的这种效果"parameter": "\"[[name=406,params=[40600, 40601]], [name=408,params=[40802, 40803]]]\""但不能转成 {“name”: "406", "params": ["40600", "40601", "40602"]}
一年多之前 回复

JSONArray json1 = JSONArray.fromObject(arr);

json.put("result", "0");
json.put("MyDevice",json1);
PrintToJson.print(this.response, json);

qq_31876743
墨2018 你存的格式也是逆天了,直接存json类型的字符串不更省事吗,你这样只能先做数据处理,把数据放到List<Map>里在转换就清楚了
一年多之前 回复
m0_37206072
hessye001 这个[[name=406,params=[40600, 40601]], [name=408,params=[40802, 40803]]]是我存在数据库就是这种格式,取出来是一个str,请问str能直接转[{“name”: "406", "params": ["40600", "40601", "40602"]},{},.......]这种吗
一年多之前 回复

你存的格式也是逆天了,直接存json类型的字符串不更省事吗,你这样只能先做数据处理,把数据放到List里在转换就清楚了

键值要是字符串类型的才可以

用fastjson 试试

其实你还可以写个工具包 传入数组 截取转换成json

你这个还算规范,直接用正则把数据转成json字符串,再用json工具转成对象.

com.alibaba.fastjson.JSON;
亲测可以的,以下是单元测试截图:
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问