当前位置:首页>开发>正文

java中json字符串怎么转json对象 gson 怎样把json字符串转换成json对象

2023-05-18 18:14:49 互联网 未知 开发

 java中json字符串怎么转json对象 gson 怎样把json字符串转换成json对象

java中json字符串怎么转json对象

给你个思路:
1、将jsonstr转为json对象 (这个可以用net.sf.json.JSONObject第三方包来实现)

2、根据refObj 这个key获取{existType:exist,deptType:emp,treeNodeType:dept},把获取的这数据再转为json.
3、将转后的json根据existType就能取得值了 。

gson 怎样把json字符串转换成json对象

使用Google的Gson实现对象和json字符串之间的转换

需要gson-1.4.jar

1.JsonUtil.java

Java代码
package com.snail.json

import java.lang.reflect.Type
import com.google.gson.Gson
/**
* Java对象和JSON字符串相互转化工具类
* @author penghuaiyi
* @date 2013-08-10
*/
public final class JsonUtil {

private JsonUtil(){}

/**
* 对象转换成json字符串
* @param obj
* @return
*/
public static String toJson(Object obj) {
Gson gson = new Gson()
return gson.toJson(obj)
}

/**
* json字符串转成对象
* @param str
* @param type
* @return
*/
public static T fromJson(String str, Type type) {
Gson gson = new Gson()
return gson.fromJson(str, type)
}

/**
* json字符串转成对象
* @param str
* @param type
* @return
*/
public static T fromJson(String str, Class type) {
Gson gson = new Gson()
return gson.fromJson(str, type)
}

}

2. Person.java

Java代码
package com.snail.json

public class Person {
private int id
private String name

public int getId() {
return id
}
public void setId(int id) {
this.id = id
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}

}

3. Test.java

Java代码
package com.snail.json

import java.util.ArrayList
import java.util.HashMap
import java.util.List
import java.util.Map
import java.util.Map.Entry

import com.google.gson.reflect.TypeToken

public class Test {

/**
* 一般对象的转换
*/
public static void objectToJson(){
Person person = new Person()
person.setId(1)
person.setName("one")
//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(person)
System.out.println(jsonStr)

//json字符串转换成javabean
Person newPerson = JsonUtil.fromJson(jsonStr, Person.class)
System.out.println(person == newPerson)
System.out.println(newPerson.getId() "," newPerson.getName())
}

/**
* 复合结构数据转换(List)
*/
public static void listToJson(){
Person person1 = new Person()
person1.setId(1)
person1.setName("one")

Person person2 = new Person()
person2.setId(2)
person2.setName("two")

List list = new ArrayList()
list.add(person1)
list.add(person2)

//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(list)
System.out.println(jsonStr)

//json字符串转换成javabean对象
List rtn = JsonUtil.fromJson(jsonStr, new TypeToken>(){}.getType())
for(Person person : rtn){
System.out.println(person.getId() "," person.getName())
}
}

/**
* 复合结构数据转换(Map)
*/
public static void mapToJson(){
Person person1 = new Person()
person1.setId(1)
person1.setName("one")
Person person2 = new Person()
person2.setId(2)
person2.setName("two")

Map map = new HashMap()
map.put(person1.getId(), person1)
map.put(person2.getId(), person2)

//javabean转换成json字符串
String jsonStr = JsonUtil.toJson(map)
System.out.println(jsonStr)

//json字符串转换成Map对象
Map rtn = JsonUtil.fromJson(jsonStr, new TypeToken>(){}.getType())
for(Entry entry : rtn.entrySet()){
Integer key = entry.getKey()
Person newPerson = entry.getValue()
System.out.println("key:" key "," newPerson.getId() "," newPerson.getName())
}
}

public static void main(String[] args) {
objectToJson()
System.out.println("****************************")
listToJson()
System.out.println("****************************")
mapToJson()
}

}

如何将json字符串转换为对象

先来解释反斜杠干嘛用的:

你既然提到了是json字符串,对,请注意字符串三个字。什么是字符串?两个引号之间的就是一个字符串比如:"abcdefg"这就是字符串.

假如我有个json对象:

{

"message" : "success"

}

那么问题来了,怎么把它放到一个String字符串对象里呢?

那么我们都会这么做:

jquery 怎么将json字符串转化为json对象

用jQuery.parseJSON(str)来转

接收一个JSON字符串,返回解析后的对象。

一般会这么写

$.parseJSON("{test:1}")
或者也可以
jQuery.parseJSON("{test:1}")
结果都是一样的,转换出来的就是json对象

当然也可以选择使用原生方法JSON.parse(str)同样可以接收json字符串,转成json对象

怎样将字符串转化为jsonobject

字符串格式json转化成json对象有3种方式:
1:js下用eval生成JSON对象 ---通过eval() 函数可以将JSON字符串转化为对象。
2:使用函数方式
3:使用js的json库或者jQuery提供的js库 --- 如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。

json字符串中有花括号怎么转json对象 js

一、{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数。
如:var LangShen = {"Name":"Langshen","AGE":"28"}
上面声明了一个名为“LangShen”的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性,
所以访问时,应该用.(点)来层层访问:LangShen.Name、LangShen.AGE,当然我们也可以用数组的方式来访问,如:LangShen["Name"]、LangShen["AGE"],结果是一样的。

如何将字符串装换成json格式

引入jar包 json-lib-2.JSONObject jsonObject = JSONObject.fromObject("json格式的字符串")

String jsonStr = "{id:2}"JSONObject jsonObject = JSONObject.fromObject(jsonStr)int id = jsonObject.getInt("id")

最新文章

随便看看