java Bean与json对象间的转换实例讲解
程序员文章站
2023-11-13 16:04:10
java bean与json对象间的转换
/**
* 一 json.parseobject() 单个对象 或map 大括号{}
* 二 json.parsea...
java bean与json对象间的转换
/** * 一 json.parseobject() 单个对象 或map 大括号{} * 二 json.parsearray() 多个对象 数组[] 复杂的要在类中定义类 * 三 json.tojsonstring() javabean与json格式字符串之间的转换 * * 四 javabean与json对象间的转换使用:json.tojson(obj),然后使用强制类型转换,jsonobject或者jsonarray */ @test public void testjson(){ // {"name":"小红", "age":21,"nation":"中国"} 格式要进行格式化"\" string jsonperson="{\"name\":\"小红\", \"age\":21,\"nation\":\"中国\"}"; system.out.println(jsonperson);// {"name":"小红", "age":21,"nation":"中国"} string s = json.tojsonstring(jsonperson); // "{\"name\":\"小红\", \"age\":21,\"nation\":\"中国\"}" system.out.println(s); //[{"text":"内存大小","value":"10m"},{"text":"颜色","value":"红色"}] // json转换为对象 person person = json.parseobject(jsonperson,person.class); system.out.println(person); system.out.println("============================================="); string jsonperson2="[{\"name\":\"小红\", \"age\":21,\"nation\":\"中国\"},{\"name\":\"小红2\", \"age\":31,\"nation\":\"中国2\"}]"; // person person1 = json.parseobject(jsonperson2, person.class); // system.out.println(person1); // com.alibaba.fastjson.jsonexception: syntax error, expect {, actual [, pos 0 list<person> personlist = json.parsearray(jsonperson2, person.class); system.out.println(personlist); system.out.println("=============================================="); string result = "{\n" + " \"success\":\"true\",\n" + " \n" + " \"returnaddress\":\"123\"\n" + " \n}"; jsonobject jsonobject = json.parseobject(result); system.out.println(jsonobject); // {"success":"true","returnaddress":"123"} map map = json.parseobject(result, map.class); system.out.println(map); // {success=true, returnaddress=123} system.out.println("map取得的值时"+map.get("success")); // map取得的值时true system.out.println(jsonobject.tojsonstring()); // {"success":"true","returnaddress":"123"} map jsonobject1 = (map) json.parseobject(result); system.out.println(jsonobject1); // {"success":"true","returnaddress":"123"} system.out.println("jsonobject1取得的值时"+jsonobject1.get("success")); // jsonobject1取得的值时true } // 多重 javabean的方法是遍历
json.parseobject(string str)与jsonobject.parseobject(string str)的区别
根据源码显示:json是一个抽象类,json中有一个静态方法parseobject(string text),将text解析为一个jsonobject对象并返回;jsonobject是一个继承自json的类,当调用jsonobject.parseobject(result)时,会直接调用父类的parseobject(string text)。所以两者没什么区别,一个是用父类去调用父类自己的静态的parseobject(string text),一个是用子类去调用父类的静态parseobject(string text),两者调的是同一个方法。
以上就是本次介绍的全部相关知识点,感谢大家的学习和对的支持。
推荐阅读
-
java Bean与json对象间的转换实例讲解
-
Json的概念与Json对象的写法,Json对象与Json字符串转换实例讲解
-
Java获取json数组对象的实例讲解
-
java对象与json对象间的相互转换
-
JSON语法以及json与JavaScript对象的转换实例讲解
-
java Bean与json对象间的转换实例讲解
-
Json的概念与Json对象的写法,Json对象与Json字符串转换实例讲解
-
JSON学习(二)—— 简单实战篇(使用Jackson实现Java对象、数组与JSON的互相转换)
-
JSON语法以及json与JavaScript对象的转换实例讲解
-
Json对象与Json字符串的转化、JSON字符串与Java对象的转换