fastjson的基本使用

支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 零依赖(没有依赖其它任何类库除了JDK)

String json = "{\"name\":\"chenggang\",\"age\":24}";
String arrayAyy = "[[\'马云',50],null,[\'马化腾',30]]";
JSon数组转集合
import com.alibaba.fastjson.JSONArray;
public class MaterialInController {
	@PostMapping("/query")
	public AssembleJSON getList(ReceiveParameterModel receiveParameterModel) {
		String querystr = receiveParameterModel.getQuerystr();
		List<JsonModel> parseArray = JSONArray.parseArray(querystr, JsonModel.class);
		receiveParameterModel.setQuery(parseArray);
		return AssembleJSON.SUCCESS(service.getList(receiveParameterModel));
	}
}
import com.alibaba.fastjson.JSONArray;
public class ReceiveParameterModel {
	private Integer page;
	private Integer rows;
	private String sort;
	private String order;
	private List<JsonModel> query;
	private String querystr;
	public List<JsonModel> getQuery() {
		if (query == null && querystr != null) {
			try {
				query = JSONArray.parseArray(querystr, JsonModel.class);
			} catch (Exception e) {
				throw new CntenException(query, "数据转换异常", e.getStackTrace().toString(), e);
			}
		}
		return query;
	}

	public void setQuery(List<JsonModel> query) {
		this.query = query;
	}
}


public class JsonModel {
	private String name;
	private String value;
	private String type;
}
import com.github.pagehelper.PageInfo;

public class PageModel<T> {
	private Integer total;
	private List<T> rows;

	public PageModel() {
	}

	public PageModel(Integer total, List<T> rows) {
		this.total = total;
		this.rows = rows;
	}

	public PageModel(List<T> list){
		PageInfo<T> pageInfo = new PageInfo<T>(list);
		Long tal = pageInfo.getTotal();
		total= tal.intValue();
		rows = pageInfo.getList();
	}
}
	public PageModel<HistoryMonitor> getList(ReceiveParameterModel receiveParameterModel) {
		// TODO Auto-generated method stub
		PageHelper.startPage(receiveParameterModel.getPage(), receiveParameterModel.getRows());
		List<JsonModel> query = receiveParameterModel.getQuery();
		Map<String,Object> map = new HashMap<>();
		for (JsonModel jsonModel : query) {
			if (jsonModel.getValue() != null && jsonModel.getValue() != "") {
				map.put(jsonModel.getName(), jsonModel.getValue());
			}
		}
		return new PageModel<>(mapper.getList(map));
	}

字符串json对象转实体对象

 Userinfo userInfo = JSON.parseObject(json, Userinfo.class);
System.out.println("姓名是:" + userInfo.getName() + ", 年龄是:"
                + userInfo.getAge());

实体对象转jsonObject

String userStr = userService.getUserByUserCode(userCode);
JSONObject userJsonObject = JSONObject.parseObject(userStr);
	public String checkUser(JSONObject userJsonObject){
		if(null == userJsonObject)
			return String.valueOf(LoginConstant.LOGIN_USER_NOTEXIST_CODE);
		Integer userState = userJsonObject.getInteger("state");
		if(null != userJsonObject && null != userState){
			if(LoginConstant.LOGIN_USER_STATE_INVALID == userState){
				return LoginConstant.LOGIN_USER_INVALID_CODE;
			}else if(LoginConstant.LOGIN_USER_STATE_LOCKED == userState){
				return LoginConstant.LOGIN_USER_LOCKED_CODE;
			}
		}else{
			return LoginConstant.LOGIN_USER_INVALID_CODE;
		}
		return userJsonObject.getString("userPass");
	}

转json

//实体转json
Userinfo info = new Userinfo(name, age);
String str_json = JSON.toJSONString(info);
List<Userinfo> list = new ArrayList<Userinfo>();
//list转json
 Userinfo userinfo1 = new Userinfo("lisi", 15);
 Userinfo userinfo2 = new Userinfo("wangwu", 16);
 list.add(userinfo1);
 list.add(userinfo2);
 String json = JSON.toJSONString(list, true);
//map转json
HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("username", "zhangsan");
        map.put("age", 24);
        map.put("sex", "男");

        // map集合
        HashMap<String, Object> temp = new HashMap<String, Object>();
        temp.put("name", "xiaohong");
        temp.put("age", "23");
        map.put("girlInfo", temp);

        // list集合
        List<String> list = new ArrayList<String>();
        list.add("爬山");
        list.add("骑车");
        list.add("旅游");
        map.put("hobby", list);
        String jsonString = JSON.toJSONString(map);

前台传递json字符串

 (function (window, $, undefined) {
  var _Core = function () { 
   };
    window.$Core = new _Core();

 var _util = function () {
    /*
      * 序列化Form 返回数组对象
      * @param {any} domid domid
      */
        this.QueryFormSerializeArray = function (domid) {
            var form = null;
            if (typeof (domid) === "string")
                from = $('#' + domid);
            else
                from = domid;
            var p = from.serializeArray();
            var s = $.map(p, function (n) {
                var t = $("#" + n.name);
                if (t.size() == 0)
                    t = from.find("*[textboxname='" + n.name + "']");
                var query = {};
                var s = $.trim(t.attr('data-query'));
                if (s) {
                    if (s.substring(0, 1) != '{') {
                        s = '{' + s + '}';
                    }
                    query = (new Function('return ' + s))();
                    if (query.filed) {
                        query.name = query.filed;
                        //query.remove("filed");
                    }
                }
                //console.log(query);
                return $.extend({}, n, query);
            });

            return s;
        };
        /**
         * 序列化Form 返回字符串
         * @param  {string} domid
         * @return {any} 序列化后的
         */
        this.QueryFormSerializeString = function (domid) {
            var s = this.QueryFormSerializeArray(domid);
            var strpars = JSON.stringify(s);
            return strpars;
        };
};
    $Core.util = new _util();
})(window, jQuery);


var v = $Core.util.QueryFormSerializeString('search_form');
paras.querystr = v;

$.parseJSON() 函数用于将符合标准格式的的JSON字符串转为与之对应的JavaScript对象。

var cookieuser;
 try {
  cookieuser = $.parseJSON(cookieData);
  } catch (e) {
  //window.location.href = TIMEOUT_PATH;
    return {};
  }

JSON.parse() 方法用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。

var json = '{"result":true, "count":42}';
obj = JSON.parse(json);

console.log(obj.count);
// expected output: 42

console.log(obj.result);
// expected output: true

JSONReader

当读取json文件的时候,如果json文件巨大,比如json文件中有900万条数据,大小有300多M,就不可以一次把数据都读到内存再解析。
原文:https://blog.csdn.net/drlyee/article/details/43699427 
 

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/83146323