常用JSON格式数据处理

import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.HashMap;
import com.sbm.wll.dao.UserDao;
import com.sbm.wll.entity.User;

@Controller
public class Json {
@Autowired
private UserDao userServiceImpl;

/**
* json格式字符串转json
*
* @return
*/
@RequestMapping(value = “/json1”)
@ResponseBody
public String getJson1() {
String str = “{\”a\”:\”b\”, \”c\”:\”d\”}”;
JSONObject obj = new JSONObject(str);//org.json
System.out.println(“json字符串转json:” + obj);
return str;
}

/**
* List<User>转JSON Springboot自动转化 返回值类型为List
* 注释掉的为使用net.sf.json工具做的 ,是正确的
* @return
*/
@RequestMapping(value = “/json2”)
@ResponseBody
public List<User> getJson2() {
List<User> users = null;
users = userServiceImpl.findAll();
// net.sf.json.JSONArray array = new
// net.sf.json.JSONArray().fromObject(users);
// System.out.println(“—–使用.net.sf.json:”+array);
return users;
}

/**
* List<User>转JSON 返回值类型为String
*
* @return
*/
@RequestMapping(value = “/json3”)
@ResponseBody
public String getJson3() {
List<User> users = null;
users = userServiceImpl.findAll();
JSONArray array = new JSONArray(); // org.json包
for (int i = 0; i < users.size(); i++) {
User u = users.get(i);
JSONObject object = new JSONObject(u);
// System.out.println(“object:” + object);
array.put(object);
}
System.out.println(“org.json.Array:to json:” + array);
return array.toString();
}

/**
* Map<String,String>转JSON 返回值类型为String 使用.net.sf.json
*
* @return
*/
@RequestMapping(value = “/json4”)
@ResponseBody
public String getJson4() {
Map<String, String> map = new HashMap<>();
map.put(“1”, “c100”);
map.put(“2”, “c233”);
map.put(“4”, “c556”);
net.sf.json.JSONArray array = new net.sf.json.JSONArray().fromObject(map);
System.out.println(“—–使用.net.sf.json:” + array);
return array.toString();
}

/**
* 解析json字符串 json中 包含json数组
*
* @param request
* @return
*/
@RequestMapping(“/jx1”)
@ResponseBody
public String jxJSON1() {
String jsonString = “{‘id’:’1′,’corpcode’:’10147′,’msg’:{‘time’:’16-35′,’pp’:’ddd’}}”;
JSONObject obj = new JSONObject(jsonString); //org.json
System.out.println(“corpcode:” + obj.getString(“corpcode”));
JSONObject msg = new JSONObject(obj.get(“msg”).toString());// msg不是String,要么get,要么getJSONObj
System.out.println(“msg:” + msg); // 获取msg 里面的json内容
String time = msg.getString(“time”);
System.out.println(“msg—time:” + time);
System.out.println(“全部json:” + obj);
return obj.toString();
}

/**
* 把JSON数组里面的对象,解析到实体中
*
* @return
*/
@RequestMapping(“/jx2”)
@ResponseBody
public String jsJSON2() {
String jString = “[{‘id’:’111′,’name’:’小明’},{‘id’:’22’,’name’:’小花’},{‘id’:’402′,’name’:’小红’}]”;
com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray().parseArray(jString);
List<User> users = new ArrayList<>();
for (int i = 0; i < array.size(); i++) {
User user = new User();
com.alibaba.fastjson.JSONObject object = array.getJSONObject(i);
user.setId(object.getString(“id”));
user.setName(object.getString(“name”));
System.out.println(“U:” + user.toString());
users.add(user);
}
for (User u : users) {
System.out.println(“—-” + u.toString());
}
return “”;
}

}

本站的文章多是老王开发工作中问题的记录,一个字一个字敲的,切实可行,可以分享,需要留个原文链接,至少也意思意思吧!
阿里云服务器怎么购买划算-vsalw技术博客 » 常用JSON格式数据处理

每个人都是以自己独特的方式体味生活,或许别人不理解,但自己知道:其中的酸甜苦辣就叫做幸福!

认同! 瞎扯淡!