成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JSON-創(chuàng)新互聯(lián)

什么是JSON?

十年的天山網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整天山建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)從事“天山網(wǎng)站設(shè)計”,“天山網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

JSON(JavaScript Object Notation:JS對象標記)是一種輕量級的數(shù)據(jù)交換格式。使用廣泛,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔、清晰、易于閱讀、易于機器解析和生成、可以提升網(wǎng)絡傳輸效率。

Controller返回JSON數(shù)據(jù)

使用Jackson(一種json解析工具)

步驟:

1、導入jar包

com.fasterxml.jackson.corejackson-databind2.9.6

2、編寫web.xml

springmvcorg.springframework.web.servlet.DispatcherServletcontextConfigLocationclasspath:springmvc-servlet.xml1springmvc/encodingorg.springframework.web.filter.CharacterEncodingFilterencodingutf-8encoding/*

3、編寫springmvc-servlet.xml

4、編寫實體類

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private String name;
    private int age;
    private String sex;
}

5、編寫一個Controller

@Controller
public class UserController {
    @RequestMapping(value="/j1",produces = "application/json;charset=utf-8")  //解決JSON亂碼問題
    @ResponseBody   //它就不會走視圖解析器,會直接返回一個字符串
    public String json1() throws JsonProcessingException {
        User user = new User("張三",3,"男");
        //把它轉(zhuǎn)換為JSON對象(字符串)
        ObjectMapper mapper = new ObjectMapper();
        String string = mapper.writeValueAsString(user);
        return string;
    }
}

亂碼統(tǒng)一解決

使用? produces = "application/json;charset=utf-8"? 來解決json亂碼問題比較麻煩,如果項目中有很多請求,那么每個請求都要添加produces屬性。

可以通過Spring配置統(tǒng)一指定,這樣就不用每次都去處理了。

      

@Controller? ? ? ? 走視圖解析器

@RestController? ? ? ? 不走視圖解析器

@Controller + @ResponseBody = @RestController

1、把user對象轉(zhuǎn)換為JSON對象的顯示結(jié)果:

{"name":"張三","age":3,"sex":"男"}

2、把集合轉(zhuǎn)換為JSON對象

@RequestMapping(value="/j2")
    @ResponseBody   //它就不會走視圖解析器,會直接返回一個字符串
    public String json2() throws JsonProcessingException {
        ListuserList = new ArrayList();
        User user1 = new User("張三",3,"男");
        User user2 = new User("李四",4,"男");
        User user3 = new User("王五",5,"男");
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);
        //把它轉(zhuǎn)換為JSON對象(字符串)
        ObjectMapper mapper = new ObjectMapper();
        String string = mapper.writeValueAsString(userList);
        return string;
    }

顯示結(jié)果:

[{"name":"張三","age":3,"sex":"男"},{"name":"李四","age":4,"sex":"男"},{"name":"王五","age":5,"sex":"男"}]

3、把時間轉(zhuǎn)換為JSON對象

@RequestMapping(value="/j3")
    @ResponseBody   //它就不會走視圖解析器,會直接返回一個字符串
    public String json3() throws JsonProcessingException {
        Date date = new Date();
        ObjectMapper mapper = new ObjectMapper();
        //使用ObjectMapper解析時間后的默認格式為:Timestamp(時間戳)
        String string = mapper.writeValueAsString(date);
        return string;
    }

FastJson

fastjson.jar是阿里開發(fā)的一款專門用于Java開發(fā)的包,可以方便的實現(xiàn)json對象與JavaBean對象的轉(zhuǎn)換,實現(xiàn)JavaBean對象與json字符串的轉(zhuǎn)換,實現(xiàn)json對象與json字符串的轉(zhuǎn)換。實現(xiàn)json的轉(zhuǎn)換方法很多,最后的實現(xiàn)結(jié)果都是一樣的。

步驟:

1、導入依賴

com.alibabafastjson1.2.60

fastjson中三個主要的類:

①JSONObject代表json對象

②JSONArray代表json對象數(shù)組

③JSON代表JSONObject和JSONArray的轉(zhuǎn)化

@RequestMapping(value="/j4")
    @ResponseBody   //它就不會走視圖解析器,會直接返回一個字符串
    public void json4() throws JsonProcessingException {
        ListuserList = new ArrayList();
        User user1 = new User("張三",3,"男");
        User user2 = new User("李四",4,"男");
        User user3 = new User("王五",5,"男");
        userList.add(user1);
        userList.add(user2);
        userList.add(user3);

        //Java對象轉(zhuǎn)JSON字符串
        String str1 = JSON.toJSONString(userList);
        String str2 = JSON.toJSONString(user1);
        System.out.println(str1);
        System.out.println(str2);

        //JSON字符串轉(zhuǎn)Java對象
        User java_user = JSON.parseObject(str2,User.class);
        System.out.println(java_user);

        //Java對象轉(zhuǎn)JSON對象
        JSONObject jsonObject1 = (JSONObject)JSON.toJSON(user2);
        System.out.println(jsonObject1);

        //JSON對象轉(zhuǎn)Java對象
        User to_java_user = JSON.toJavaObject(jsonObject1, User.class);
        System.out.println(to_java_user);
    }

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

分享名稱:JSON-創(chuàng)新互聯(lián)
文章起源:http://jinyejixie.com/article4/dsijie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、全網(wǎng)營銷推廣、手機網(wǎng)站建設(shè)、企業(yè)建站、做網(wǎng)站小程序開發(fā)

廣告

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

綿陽服務器托管
遂昌县| 绍兴县| 开远市| 宜良县| 连城县| 响水县| 西乌珠穆沁旗| 威宁| 文昌市| 渝北区| 达拉特旗| 浑源县| 松潘县| 铜山县| 镇巴县| 温州市| 蓬溪县| 柏乡县| 分宜县| 黎平县| 股票| 南昌市| 罗田县| 石棉县| 黔东| 临汾市| 当涂县| 东平县| 鄂州市| 全南县| 临邑县| 嘉善县| 汪清县| 山西省| 洛川县| 贡觉县| 民权县| 宁武县| 子洲县| 新邵县| 柏乡县|