<del id="d4fwx"><form id="d4fwx"></form></del>
      <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

            <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
          • JavaObjecttoJSON-創(chuàng)新互聯(lián)

            一開始的時候,使用Jackson的ObjectMapper來轉(zhuǎn),每個JSON對象都要建模,如果那個JSON嵌套了4層,就得寫4個Java Class,而且一個list里面還可以放不同類型的對象,要是哪天需求一改,就得從一堆class里面挖寶(雷)。使用Java的強類型對靈活的JSON對象建模,在現(xiàn)在多變的業(yè)務(wù)環(huán)境下,真的沒有什么優(yōu)勢。
             
            后來看到JDK里面有這么一個寫法:

            從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。創(chuàng)新互聯(lián)建站將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
            JsonObject value = Json.createObjectBuilder()
                 .add("firstName", "John")
                 .add("lastName", "Smith")
                 .add("age", 25)
                 .add("address", Json.createObjectBuilder()
                     .add("streetAddress", "21 2nd Street")
                     .add("city", "New York")
                     .add("state", "NY")
                     .add("postalCode", "10021"))
                 .add("phoneNumber", Json.createArrayBuilder()
                     .add(Json.createObjectBuilder()
                         .add("type", "home")
                         .add("number", "212 555-1234"))
                     .add(Json.createObjectBuilder()
                         .add("type", "fax")
                         .add("number", "646 555-4567")))
                 .build();

            看著就很爽,一眼就可以看清整個JSON的結(jié)構(gòu),好寫好看??墒沁@種寫法,要用到j(luò)son-lib,json-lib不建議用在1.7或以上的Java,原因在此。
             
            于是基于fastjson,自己寫了一個這樣的builder,當作語法糖。

            public class JsonObjectBuilder {
                private JSONObject obj = new JSONObject();
                public JsonObjectBuilder add(String key, Object value) {
                    obj.put(key, value);
                    return this;
                }
                public JSONObject build() {
                    return obj;
                }
            }
            public class JsonArrayBuilder {
                private JSONArray array = new JSONArray();
                public JsonArrayBuilder add(Object item) {
                    array.add(item);
                    return this;
                }
                public JSONArray build() {
                    return array;
                }
            }
            public class JsonBuilder {
                public static JsonObjectBuilder newObject() {
                    return new JsonObjectBuilder();
                }
                public static JsonArrayBuilder newArray() {
                    return new JsonArrayBuilder();
                }
            }

            使用示范:

            JSONObject obj = JsonBuilder.newObject()
                    .add("name", "Andy")
                    .add("age", 28)
                    .add("friends", JsonBuilder.newArray()
                            .add(JsonBuilder.newObject()
                                    .add("name", "Maggie")
                                    .add("hobby", "hike")
                                    .build())
                            .add(JsonBuilder.newObject()
                                    .add("name", "Tonny")
                                    .add("city", "hongkong")
                                    .build())
                            .build())
                    .build();

            做是做出來了,但還不是我最終想要的東西,我最想要的是類似JavaScript的效果。

            {
                "name": ${name},
                "friends": [
                    {
                        "name": ${friend}
                    }
                ]
            }

            目前的Java還做不出來,期待Java語法的改進。

            創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

            網(wǎng)站標題:JavaObjecttoJSON-創(chuàng)新互聯(lián)
            網(wǎng)站網(wǎng)址:http://www.jbt999.com/article0/dpchoo.html

            成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站內(nèi)鏈、企業(yè)建站移動網(wǎng)站建設(shè)、網(wǎng)站營銷、微信小程序

            廣告

            聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

            h5響應(yīng)式網(wǎng)站建設(shè)

              <del id="d4fwx"><form id="d4fwx"></form></del>
              <del id="d4fwx"><form id="d4fwx"></form></del><del id="d4fwx"><form id="d4fwx"></form></del>

                    <code id="d4fwx"><abbr id="d4fwx"></abbr></code>
                  • 精品无码视频在线观看 | 欧美a片免费视频 | 在线无码一区二区三区 | 亚洲视频a | 永久在线 |