GVKun编程网logo

JSONObject.fromObject(map)(JSON与JAVA数据的转换)(java中jsonobject转map)

7

对于JSONObject.fromObject(map)感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍JSON与JAVA数据的转换,并为您提供关于javaObject类型转换为jsonObje

对于JSONObject.fromObject(map)感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍JSON与JAVA数据的转换,并为您提供关于java Object类型转换为jsonObject、或者map类型 maven加入json包、java – ObjectMapper().createObjectNode与JsonNodeFactory.instance.objectNode()之间的区别?、java – 如何将JSONObject转换为gson.JsonObject?、Java使用JSONObject操作json实例解析JSONObjectJavaBean与json字符串互转的有用信息。

本文目录一览:

JSONObject.fromObject(map)(JSON与JAVA数据的转换)(java中jsonobject转map)

JSONObject.fromObject(map)(JSON与JAVA数据的转换)(java中jsonobject转map)

上一篇文章中有这么一句,是后台的封装数据。
JSONObjectjo = JSONObject.fromObject(map);
常见的java代码转换成json


1. List集合转换成json代码

List list = newArrayList();

list.add( "first" );

list.add( "second" );

JSONArray jsonArray2 =JSONArray.fromObject( list );

2. Map集合转换成json代码

Map map = newHashMap();

map.put("name","json");

map.put("bool",Boolean.TRUE);

map.put("int",newInteger(1));

map.put("arr",new String[] {"a","b" });

map.put("func","function(i){return this.arr[i]; }");

JSONObject json =JSONObject.fromObject(map);

3. Bean转换成json代码

JSONObject jsonObject =JSONObject.fromObject(new JsonBean());

4. 数组转换成json代码

boolean[] boolArray = newboolean[] { true,false,true };

JSONArray jsonArray1 =JSONArray.fromObject(boolArray);

5. 一般数据转换成json代码

JSONArray jsonArray3 =JSONArray.fromObject("['json','is','easy']" );

java Object类型转换为jsonObject、或者map类型 maven加入json包

java Object类型转换为jsonObject、或者map类型 maven加入json包

     //maven 添加入json包
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20150729</version>
        </dependency>
        <dependency>  
            <groupId>net.sf.json-lib</groupId>  
            <artifactId>json-lib</artifactId>  
            <version>2.4</version>  
            <classifier>jdk15</classifier>  
        </dependency> 

 

 

public static Map<String, String> toMap(Object object) {
        Map<String, String> data = new HashMap<String, String>();
        // 将json字符串转换成jsonObject
        JSONObject jsonObject = JSONObject.fromObject(object);
        Iterator ite = jsonObject.keys();
        // 遍历jsonObject数据,添加到Map对象
        while (ite.hasNext()) {
            String key = ite.next().toString();
            String value = jsonObject.get(key).toString();
            data.put(key, value);
        }
        // 或者直接将 jsonObject赋值给Map
        // data = jsonObject;
        return data;
    }

java – ObjectMapper().createObjectNode与JsonNodeFactory.instance.objectNode()之间的区别?

java – ObjectMapper().createObjectNode与JsonNodeFactory.instance.objectNode()之间的区别?

我看到一个 post关于向JsonNode插入新节点并遇到两个单独的答案,但我无法理解两者之间的区别.

根据我的经验,ObjectMapper不允许您创建除ObjectNode和ArrayNode之外的任何内容,而JsonNodeFactory允许您创建a whole bunch of nodes.

除此之外,还有什么其他差异?

另外,鉴于ObjectMapper是considered expensive,我想知道后一种方法是否更有效?

解决方法

以下方法之间没有区别:

ObjectMapper mapper = new ObjectMapper();
ObjectNode objectNode = mapper.createObjectNode();
ObjectNode objectNode = JsonNodeFactory.instance.objectNode();

在幕后,杰克逊将把createObjectNode()方法委托给JsonNodeFactory.

有关如何使用JsonNodeFactory的更多详细信息,请参阅此answer.

java – 如何将JSONObject转换为gson.JsonObject?

java – 如何将JSONObject转换为gson.JsonObject?

我有一个org.json. JSONObject对象.

从中创建gson.JsonObject对象最简单的方法是什么?

谢谢

解决方法

最简单的方法是使用toString()将JSONObject序列化到一个json字符串,然后将该json字符串解析为JsonObject:
org.json.JSONObject object = <your defined object>;
    JsonParser jsonParser = new JsonParser();
    JsonObject gsonObject = (JsonObject)jsonParser.parse(object.toString());

请注意,序列化和反序列化对象可能是一项昂贵的操作.如果您必须在代码(内部循环)中执行此操作,则可能会影响您的性能.

JSONObjectJavaBean与json字符串互转JSONObjectJavaBean与json字符串互转

JSONObjectJavaBean与json字符串互转Java使用JSONObject操作json实例解析JSONObjectJavaBean与json字符串互转

这篇文章主要介绍了Java使用JSONObject操作json,结合实例形式较为详细的分析了Java使用JSONObject解析json数据相关原理、使用技巧与操作注意事项,需要的朋友可以参考下

本文实例讲述了Java使用JSONObject操作json。分享给大家供大家参考,具体如下:

简介

在程序开发过程中,在参数传递,函数返回值等方面,越来越多的使用JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,同时也易于机器解析和生成、易于理解、阅读和撰写,而且Json采用完全独立于语言的文本格式,这使得Json成为理想的数据交换语言。 JSON建构于两种结构:“名称/值”对的集合(A Collection of name/value pairs),在不同的语言中,它被理解为对象(Object), 记录(record), 结构(struct), 字典(dictionary), 有趣列表(keyed list), 哈希表(hash table)或者关联数组(associative array)。JSONObject依赖:最后一行需要保留,有两个jdk版本的实现:json-lib-2.1-jdk13.jar和json-lib-2.1-jdk15.jarnet.sf.json-libjson-lib2.4jdk15使用net.sf.json需要导入的jar包

jar包下载:https://pan.baidu.com/s/1iZiXw55TPwIxYFQQCaR9Gw或者点击此处本站下载。

JSONObject

创建JSONObject,添加属性

//创建JSONObject JSONObject json = new JSONObject(); //添加属性 json.put("username", "张三"); json.put("password", "123"); //打印 System.out.println(json); //增加属性 json.element("sex", "男"); json.put("age", 18); System.out.println(json);

根据key返回输出

System.out.println(json.get("sex"));

判断输出对象的类型

boolean isArray = json.isArray(); boolean isEmpty = json.isEmpty(); boolean isNullObject = json.isNullObject(); System.out.println("是否数组:"+isArray+", 是否空:"+isEmpty+", 是否空为空对象:"+isNullObject);

把JSONArray添加到JSONObject中

/把JSONArray添加到JSONObject中 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, "张三"); jsonArray.add(1, "123"); //开始添加 json.element("student", jsonArray); System.out.println(json);

全部代码:

import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //创建JSONObject JSONObject json = new JSONObject(); //添加属性 json.put("username", "张三"); json.put("password", "123"); //打印 System.out.println(json); //增加属性 json.element("sex", "男"); json.put("age", 18); System.out.println(json); //根据key返回 System.out.println(json.get("sex")); //判断输出对象的类型 boolean isArray = json.isArray(); boolean isEmpty = json.isEmpty(); boolean isNullObject = json.isNullObject(); System.out.println("是否数组:"+isArray+", 是否空:"+isEmpty+", 是否空为空对象:"+isNullObject); System.out.println("====="); //把JSONArray添加到JSONObject中 JSONArray jsonArray = new JSONArray(); jsonArray.add(0, "张三"); jsonArray.add(1, "123"); //开始添加 json.element("student", jsonArray); System.out.println(json); } }

运行结果:

JSONArray

创建JSONArray,添加属性值

//创建JSONArray JSONArray jsonArray = new JSONArray(); //添加 jsonArray.add(0, "张三"); jsonArray.add(1, "123"); jsonArray.element("男"); System.

根据下标返回输出

System.out.println(jsonArray.get(0));

根据下标设置新值,修改

jsonArray.set(0, "李四"); System.out.println(jsonArray);

把JSONObject放入到JSONArray中

//把JSONObject放入到JSONArray中 JSONObject jsonObject = new JSONObject(); jsonObject.put("username", "张三"); jsonObject.put("password", "123"); jsonArray.add(jsonObject); System.

全部代码:

import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //创建JSONArray JSONArray jsonArray = new JSONArray(); //添加 jsonArray.add(0, "张三"); jsonArray.add(1, "123"); jsonArray.element("男"); System.out.println(jsonArray); //根据下标返回输出 System.out.println(jsonArray.get(0)); //根据下标设置新值,修改 jsonArray.set(0, "李四"); System.out.println(jsonArray); //把JSONObject放入到JSONArray中 JSONObject jsonObject = new JSONObject(); jsonObject.put("username", "张三"); jsonObject.put("password", "123"); jsonArray.add(jsonObject); System.out.println(jsonArray); //循环输出 for(int i = 0; i

运行结果

JavaBean与json字符串互转

student类:

public class Student { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getpassword() { return password; } public void setPassword(String password) { this.password = password; } public Student(String username, String password) { super(); this.username = username; this.password = password; } public Student() { super(); // Todo Auto-generated constructor stub } @Override public String toString() { return "Student [username=" + username + ", password=" + password + "]"; } }

定义对象,JavaBean对象转json字符串

//定义对象 Student stu = new Student("张三", "123456"); //JavaBean对象转json字符串 JSONObject jsonObject = JSONObject.fromObject(stu); System.out.println(jsonObject);

json字符串转为javaBean

//json字符串转为javaBean //定义json字符串 String jsondata = "{"username":"李四", "password":"123"}"; //转为json对象 JSONObject json = JSONObject.fromObject(jsondata); //转为JavaBean对象 Student stu2 = (Student)JSONObject.toBean(json, Student.class); System.out.println(stu2.toString());

全部代码:

import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //定义对象 Student stu = new Student("张三", "123456"); //JavaBean对象转json字符串 JSONObject jsonObject = JSONObject.fromObject(stu); System.out.println(jsonObject); //json字符串转为javaBean //定义json字符串 String jsondata = "{"username":"李四", "password":"123"}"; //转为json对象 JSONObject json = JSONObject.fromObject(jsondata); //转为JavaBean对象 Student stu2 = (Student)JSONObject.toBean(json, Student.class); System.out.println(stu2.toString()); } }

输出结果:

List与json字符串互转

先定义list集合,list转json字符串

//定义list集合 List list = new ArrayList(); list.add(new Student("张三", "123")); list.add(new Student("李四", "456")); //list转json字符串 JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray);

json字符串转list

//json字符串转list List list2 = new ArrayList(); String jsondata = "[{"password":"123","username":"张三"},{"password":"456","username":"李四"}]"; JSONArray jsonArray1 = JSONArray.fromObject(jsondata); for(int i = 0; i

全部代码

import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //定义list集合 List list = new ArrayList(); list.add(new Student("张三", "123")); list.add(new Student("李四", "456")); //list转json字符串 JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray); //json字符串转list List list2 = new ArrayList(); String jsondata = "[{"password":"123","username":"张三"},{"password":"456","username":"李四"}]"; JSONArray jsonArray1 = JSONArray.fromObject(jsondata); for(int i = 0; i

运行结果

Map与json字符串互转

定义map集合,Map转json字符串

//定义map集合 Map map = new HashMap(); map.put("1", new Student("张三", "123")); map.put("2", new Student("李四", "456")); //Map转json字符串 JSONObject jsonMap = JSONObject.fromObject(map); System.out.println(jsonMap);

定义字符串map集合,map集合字符串转为map

//定义字符串map集合 String jsondata = "{"1":{"password":"123","username":"张三"},"2":{"password":"456","username":"李四"}}"; //map集合字符串转为map Map map2 = (Map)JSONObject.fromObject(jsondata); Set set = map2.keySet(); //定义迭代器,迭代输出 Iterator ite = set.iterator(); while(ite.hasNext()) { //取出一个字符串对象 String key = (String)ite.next(); //转为json格式 JSONObject jsonObject = JSONObject.fromObject(map2.get(key)); //转为对象 Student stu = (Student)JSONObject.toBean(jsonObject, Student.class); System.out.println(key+" "+stu); }

全部代码

import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { //定义map集合 Map map = new HashMap(); map.put("1", new Student("张三", "123")); map.put("2", new Student("李四", "456")); //Map转json字符串 JSONObject jsonMap = JSONObject.fromObject(map); System.out.println(jsonMap); //定义字符串map集合 String jsondata = "{"1":{"password":"123","username":"张三"},"2":{"password":"456","username":"李四"}}"; //map集合字符串转为map Map map2 = (Map)JSONObject.fromObject(jsondata); Set set = map2.keySet(); //定义迭代器,迭代输出 Iterator ite = set.iterator(); while(ite.hasNext()) { //取出一个字符串对象 String key = (String)ite.next(); //转为json格式 JSONObject jsonObject = JSONObject.fromObject(map2.get(key)); //转为对象 Student stu = (Student)JSONObject.toBean(jsonObject, Student.class); System.out.println(key+" "+stu); } } }

运行结果

JSONArray与List互转

定义list集合,List转型JSONArray

//定义list集合 List list = new ArrayList(); list.add(new Student("张三", "123")); list.add(new Student("李四", "456")); //List转型JSONArray JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray.toString());

JSONArray转型List,JSONArray是用的上面的那个jsonArray变量

//JSONArray转型List List list2 = JSONArray.toList(jsonArray, new Student(), new JsonConfig()); Iterator ite = list2.iterator(); while(ite.hasNext()) { Student stu = ite.next(); System.out.println(stu); }

全部代码

import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JsonConfig; public class Json { public static void main(String[] args) { //定义list集合 List list = new ArrayList(); list.add(new Student("张三", "123")); list.add(new Student("李四", "456")); //List转型JSONArray JSONArray jsonArray = JSONArray.fromObject(list); System.out.println(jsonArray.toString()); //JSONArray转型List List list2 = JSONArray.toList(jsonArray, new Student(), new JsonConfig()); Iterator ite = list2.iterator(); while(ite.hasNext()) { Student stu = ite.next(); System.out.println(stu); } } }

运行结果

JSONArray与数组互转

定义数组,数组转JSONArray

//定义数组 boolean[] boolArray = {true, false, true}; //java数组转JSONArray JSONArray jsonArray = JSONArray.fromObject(boolArray); System.out.println(jsonArray.toString());

JSONArray转java数组

//JSONArray转java数组 Object obj[] = jsonArray.toArray(); for(Object o : obj) { System.out.print(o+"t"); }

全部代码

import net.sf.json.JSONArray; public class Json { public static void main(String[] args) { //定义数组 boolean[] boolArray = {true, false, true}; //java数组转JSONArray JSONArray jsonArray = JSONArray.fromObject(boolArray); System.out.println(jsonArray.toString()); //JSONArray转java数组 Object obj[] = jsonArray.toArray(); for(Object o : obj) { System.out.print(o+"t"); } } }

运行结果

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:

http://tools.html.cn/code/json

JSON在线格式化工具:

http://tools.html.cn/code/jsonformat

在线XML/JSON互相转换工具:

http://tools.html.cn/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:

http://tools.html.cn/code/jsoncodeformat

在线json压缩/转义工具:

http://tools.html.cn/code/json_yasuo_trans

更多关于java相关内容感兴趣的读者可查看本站专题:《Java操作json格式数据技巧总结》、《Java数组操作技巧总结》、《Java字符与字符串操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结》

希望本文所述对大家java程序设计有所帮助。

今天关于JSONObject.fromObject(map)JSON与JAVA数据的转换的介绍到此结束,谢谢您的阅读,有关java Object类型转换为jsonObject、或者map类型 maven加入json包、java – ObjectMapper().createObjectNode与JsonNodeFactory.instance.objectNode()之间的区别?、java – 如何将JSONObject转换为gson.JsonObject?、Java使用JSONObject操作json实例解析JSONObjectJavaBean与json字符串互转等更多相关知识的信息可以在本站进行查询。

本文标签: