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

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)

綿陽服務器托管
巨野县| 绥化市| 阿克陶县| 河东区| 武陟县| 嘉义市| 绥化市| 襄城县| 株洲县| 台山市| 黄石市| 文登市| 大丰市| 广德县| 元氏县| 大渡口区| 肃南| 彭阳县| 武陟县| 宝清县| 贵南县| 宁远县| 新巴尔虎左旗| 绥芬河市| 西乌| 高唐县| 玛曲县| 宜都市| 图木舒克市| 岗巴县| 东山县| 双峰县| 北流市| 嘉义市| 左权县| 新巴尔虎右旗| 新河县| 鄂州市| 萨迦县| 额敏县| 马关县|