java菜鸟求助如何将list数据放入json中??

ObjectNode waterMeterNode = mapper.createObjectNode();
waterMeterNode.put("serviceId", "WaterMeter");
ObjectNode waterMeterData = mapper.createObjectNode();

waterMeterData.put("timeOfReading", md.getTimeOfReading());
waterMeterData.put("P1", md.getP1());
waterMeterData.put("P2", md.getP2());
waterMeterData.put("P3", md.getP3());
waterMeterData.put("A1", md.getA1());
waterMeterData.put("A2", md.getA2());
waterMeterData.put("A3", md.getA3());
这段代码需要生成json数据,不过get里面传过来的是list数据它就会报错,我应该怎么修改才能够将list数据放入json中?

5个回答

  1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "second" ); JSONArray jsonArray2 = JSONArray.fromObject( list );
  2. Map集合转换成json代码 Map map = new HashMap(); map.put("name", "json"); map.put("bool", Boolean.TRUE); map.put("int", new Integer(1)); map.put("arr", new String[] { "a", "b" }); map.put("func", "function(i){ return this.arr[i]; }"); JSONObject json = JSONObject.fromObject(map);
  3. Bean转换成json代码 JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
  4. 数组转换成json代码 boolean[] boolArray = new boolean[] { true, false, true }; JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
  5. 一般数据转换成json代码 JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );

直接声明一个LinkedHashMap maps = new LinkedHashMap(); 然后将数据填入,最后再转成json就行

直接转换一下就可以 百度很多demo

你的md应该是个对象
JsonConfigUtil这个类的地址:http://blog.csdn.net/strutce/article/details/75068944
在这个类中有个方法jsonMap(),你把你对象中的复杂类型放入这个map中。哪些已经存在你不使用的删掉

 JsonConfigUtil jsonConfig = new JsonConfigUtil();
JSONObject jsonStr=JSONObject.fromObject(request, jsonConfig.jsonConfigUtil());

我写一段 你参考下
先声明一个JSON数组
JSONArray jsonArray = new JSONArray();
//假设下面啊的LIST是有数据的
List shipGroup = new ArrayList();
for (int i = 0; i < shipGroup.size(); i++) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", i + 1);
jsonObject.put("name", shipGroup.get(i).getShipGroupName());
//把JSONOBJECT放入数组
jsonArray.add(jsonObject);}

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