一、
JSONObject.fromObject
将json字符串转换成json对象再转换成Map,这样可以很方便的取出value值供后台使用。
在实际开发中很实用,具体实现代码如下所示:
Map<String, String> cusPara = (Map<String, String>) JSONObject.fromObject(para);
String para = "{"wftypeid":"2","module":"1","wftypename":"日常工作","creater":"系统管理员","detail":"35","createrid":"1","receivetime":"2018-09-03 10:08:55"}";
Map<String, String> cusPara = (Map<String, String>) JSONObject.fromObject(para);
System.out.println("--cusPara = " + cusPara);
for (Map.Entry<String, String> entry : cusPara.entrySet()) {
System.out.println("--Key = " + entry.getKey() + ", Value = " + entry.getValue());
String push_module = cusPara.get("module");
String push_person = cusPara.get("creater");
String push_time = cusPara.get("receivetime");
para是一个json字符串,通过JSONObject.fromObject(para)转换成json对象,然后通过强制类型转换(Map<String,String>)将其转换成Map对象,方便获取value。
二、json与对象的转换
JSONObject jo = JSONObject.fromObject(map);
后台的封装数据,java代码转换成json。
1. List集合转换成json代码
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
2. Map集合转换成json代码
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(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 = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
5. 一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']" );
三、
json字符串和json对象的互转
JSON字符串:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON对象:
var str2 = { "name": "cxh", "sex": "man" };
一、JSON字符串转换为JSON对象
要使用上面的str1,必须使用下面的方法先转化为JSON对象:
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
var obj = str.parseJSON(); //由JSON字符串转换为JSON对象
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
然后,就可以这样读取:
Alert(obj.name);
Alert(obj.sex);
特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。
二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。
一、JSONObject.fromObject将json字符串转换成json对象再转换成Map,这样可以很方便的取出value值供后台使用。在实际开发中很实用,具体实现代码如下所示:Map<String, String> cusPara = (Map<String, String>) JSONObject.fromObject(para);String p...
本文实例讲述了
JSON
字符串
和
JSON
对象
相互
转化的方法。分享给大家供大家参考,具体如下:
将
json
字符串
转换
为
json
对象
的方法。在数据传输过程中,
json
是以文本,即
字符串
的形式传递的,而JS操作的是
JSON
对象
,所以,
JSON
对象
和
JSON
字符串
之间
的
相互
转换
是关键
JSON
字符串
:
var str = '{ "name": "name1","sex": "m" }';
JSON
对象
:
var obj = { "name": "name1", "sex": "w" };
一、
JSON
字符串
转换
为
JSON
对象
要使用上面的str1,必须使用下面的方法先转化为
JSON
对象
:
//
json
字符串
-简单
对象
String
json
Str = "{\"studentName\":\"张三\",\"studentAge\":18}";
//
json
字符串
-数组类型
String
json
ArrStr = "[{\"studentName\":\"张三\",\"studentAge\":18},{\"studentName\":\"李四\",\"studentAge\":17}]";
//
json
字符串
-复杂
对象
Strin.
JSON
与
JAVA
数据的
转换
(
JSON
即
Java
Script Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与
Java
Script 的交互。)
上一篇文章中有这么一句,是后台的封装数据。
JSON
Object jo =
JSON
O
1.
JSON
Object.fromObject静态方法
1.1.
JSON
Object
JSON
Object.fromObject(Object object)静态方法, 把Map、
Java
Bean、
JSON
Object String
对象
转换
为
JSON
Object
对象
。
json
-lib底层, 会创建一个
Json
Config
对象
使用。不能
转换
数组、集合, 需要用
JSON
Array
转换
。
1.2.
JSON
Object
JSON
Object.fromObject(Object object,
Json
C
JSON
,全称是
Java
Script Object Notation,即
Java
Script
对象
标记法。
JSON
是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable)格式。
JSON
的名称中虽然带有
Java
Script,但这是指其语法规则是参考
Java
Script
对象
的,而不是指只能用于
Java
Script 语言。
JSON
无论对于人,还是对于机器来说,都是十分便于阅读和书写的,而且相比 XML(另一种常
String
json
Data = ""; //
json
格式的
字符串
JSON
Object
json
Obj =
JSON
Object.parseObject(
json
Data);//转
JSON
Object
对象
String name =
json
Obj.get("name").toString(); //取
JSON
Object
对象
中的数据
Student stu =
JSON
Objec...
fromObject方法在这个jar包中有。
应该导的包是net.sf.
json
.
JSON
Object。
net.sf.
json
.
JSON
Object 的maven依赖如下:
<!--
json
-->
<!--
JSON
Object
对象
依赖的jar包 -->
Java
中
JSON
字符串
转
Java
对象
的过程又称为反序列化(deserialization),即将文本形式的
JSON
数据
转换
为
Java
对象
,方便在应用中进行操作。
Java
中提供了多个库实现
JSON
字符串
到
Java
对象
的
转换
,如GSON、Jackson、Fast
json
等。以下将以GSON为例进行说明。
步骤如下:
1.引入GSON库:需要在项目中引入GSON库。
2.创建
Java
类:需要创建一个
Java
类对应
JSON
字符串
的数据结构,
Java
类的属性名称必须与
JSON
键名对应。
3.执行反序列化操作:使用GSON库提供的from
Json
()方法将
JSON
字符串
转换
为
Java
对象
,示例
代码
如下:
String
json
String = "{\"name\":\"Tom\",\"age\":25}";
Gson gson = new Gson();
Person person = gson.from
Json
(
json
String, Person.class);
其中,第一行创建
JSON
字符串
;第二行创建Gson
对象
;第三行使用from
Json
()方法将
JSON
字符串
转换
为
Java
对象
。
4.访问
Java
对象
属性:通过访问
Java
对象
的属性来获得
JSON
字符串
中对应的值,示例
代码
如下:
System.out.println(person.getName()); // 输出Tom
System.out.println(person.getAge()); // 输出25
以上即为
Java
中
JSON
字符串
转
Java
对象
的过程,通过这种方式可以方便地将
JSON
数据与
Java
对象
进行交互。不同的
JSON
库具体实现细节可能有所差异,但大体操作流程类似。