教你快速上手JSON

教你快速上手JSON

一、Java对象转为JSON字符串

(1)核心对象

		//创建Jackson的核心对象  ObjectMapper
        ObjectMapper mapper = new ObjectMapper();

(2) 转换方法

        writeValue(参数1,obj):
            参数1:
                File:将obj对象转换为JSON字符串,并保存到指定的文件中
                Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
                OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
        writeValueAsString(obj):将对象转为json字符串
 				示例:  String json = mapper.writeValueAsString(p);

(3)输出位置

//writeValue,将数据写到d://a.txt文件中
//mapper.writeValue(new File("d://a.txt"),p);

 //writeValue.将数据关联到Writer中
mapper.writeValue(new FileWriter("d://b.txt"),p);

二、JSON字符串转为Java对象

1、初始化JSON字符串

String json = "{\"gender\":\"男\",\"name\":\"坤坤\",\"age\":18}";
	//创建ObjectMapper对象
ObjectMapper mapper = new ObjectMapper();
	//转换为Java对象 Person对象
Person person = mapper.readValue(json, Person.class);
    

2、设置响应数据格式

response.setContentType("application/json;charset=utf-8");

三、基本格式

1、JSON格式

     //定义基本格式
    var person = {"name": "坤坤", age: 18, 'gender': true};
	  //获取name的值
    //var name = person.name;
    var name = person["name"];
   // alert(name);
    //alert(person);
    //嵌套格式   {}、 []
    var persons = {
        "persons": [
           		 {"name": "坤坤", "age": 18, "gender": true},
          		  {"name": "坤", "age": 20, "gender": true},
          		  {"name": "帅哥", "age": 25, "gender": false}
            ]
    };
   // alert(persons);
    var name1 = persons.persons[2].name;
   // alert(name1);
    var ps = [{"name": "坤坤", "age": 18, "gender": true},
        {"name": "坤", "age": 20, "gender": true},
        {"name": "帅哥", "age": 25, "gender": false}];
    //alert(ps);
    alert(ps[1].name);

四、 JSON中的循环

    //获取person对象中所有的键和值
    //for in 循环
   /* for(var key in person){
        //这样的方式获取不行,因为相当于  person."name"
        //alert(key + ":" + person.key);
        alert(key+":"+person[key]);
    }*/

   //获取ps中的所有值
    for (var i = 0; i < ps.length; i++) {
        var p = ps[i];
        for(var key in p){
            alert(key+":"+p[key]);
        }
    }

五、JSON数据转换

//把list ---> json数据
//JSONArray ---> 变成数组 , 集合  []
//JSONObject ---> 变成简单的数据  { name : 坤坤 , age:18}
JSONArray jsonArray = JSONArray.fromObject(list);
String json = jsonArray.toString();
posted @ 2020-03-29 13:39  李泽坤  阅读(235)  评论(0编辑  收藏  举报