8535.com-新浦京娱乐场官网|欢迎您

非常简单的一个轻量级JsonBuilder,生成Json字符串

来源:http://www.dnamique.com 作者:计算机网络 人气:92 发布时间:2019-10-07
摘要:非常简单的一个轻量级JsonBuilder,生成Json字符串,jsonbuilderjson 发送rest请求时,经常会手动拼接json串,例如{"name新浦京娱乐场官网,":"xiaobai","age":24,"emailAddress":"[email protected]"},这是不

非常简单的一个轻量级JsonBuilder,生成Json字符串,jsonbuilderjson

发送rest请求时,经常会手动拼接json串,例如{"name新浦京娱乐场官网,":"xiaobai","age":24,"emailAddress":"[email protected]"},这是不太好的行为。

除了使用jackson,fastjson等json工具,如果需求只是拼接json,可以写一个简单的builder来处理。

如下:

public class JsonBuilder {

    private StringBuilder json = new StringBuilder();

    private boolean appended = false;

    private final String QUOTATION = """;

    public JsonBuilder() {
        super();
        json.append("{");
    }

    public JsonBuilder append(String key, Object value) {
        if(appended) {
            appendComma();
        }else {
            appended = true;
        }
        appendKey(key);
        if(value instanceof String) {
            String val = (String) value;
            if(val.startsWith("{")) {
                appendValue(value);
            }else{
                appendStrValue(val);
            }
        }else {
            appendValue(value);
        }
        return this;
    }

    private void appendComma() {
        json.append(",");
    }

    private void appendValue(Object value) {
        json.append(value);
    }

    private void appendKey(String key) {
        json.append(QUOTATION).append(key).append(QUOTATION).append(":");
    }

    private void appendStrValue(String value) {
        json.append(QUOTATION).append(value).append(QUOTATION);
    }

    public String build() {
        json.append("}");
        return json.toString();
    }

}

 

发送rest请求时,经常会手动拼接json串,例如{"name":"xiaobai","age":24,"emai...

本文由8535.com-新浦京娱乐场官网|欢迎您发布于计算机网络,转载请注明出处:非常简单的一个轻量级JsonBuilder,生成Json字符串

关键词:

最火资讯