
使用GoogleGson实现象json字符串间转换
需要gson-14jar
1JsonUtiljava
Java代码
package comsnailjson;
import javalangreflectType;
import comgooglegsonGson;
/
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 gsontoJson(obj);
}
/
json字符串转象
@param str
@param type
@return
/
public static T fromJson(String str, Type type) {
Gson gson = new Gson();
return gsonfromJson(str, type);
}
/
json字符串转象
@param str
@param type
@return
/
public static T fromJson(String str, Class type) {
Gson gson = new Gson();
return gsonfromJson(str, type);
}
}
2 Personjava
Java代码
package comsnailjson;
public class Person {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
thisid = id;
}
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
}
3 Testjava
Java代码
package comsnailjson;
import javautilArrayList;
import javautilHashMap;
import javautilList;
import javautilMap;
import javautilMapEntry;
import comgooglegsonreflectTypeToken;
public class Test {
/
般象转换
/
public static void objectToJson(){
Person person = new Person();
personsetId(1);
personsetName("one");
//javabean转换json字符串
String jsonStr = JsonUtiltoJson(person);
Systemoutprintln(jsonStr);
//json字符串转换javabean
Person newPerson = JsonUtilfromJson(jsonStr, Personclass);
Systemoutprintln(person == newPerson);
Systemoutprintln(newPersongetId()+","+newPersongetName());
}
/
复合结构数据转换(List)
/
public static void listToJson(){
Person person1 = new Person();
person1setId(1);
person1setName("one");
Person person2 = new Person();
person2setId(2);
person2setName("two");
List list = new ArrayList();
listadd(person1);
listadd(person2);
//javabean转换json字符串
String jsonStr = JsonUtiltoJson(list);
Systemoutprintln(jsonStr);
//json字符串转换javabean象
List rtn = JsonUtilfromJson(jsonStr, new TypeToken<List>(){}getType());
for(Person person : rtn){
Systemoutprintln(persongetId()+","+persongetName());
}
}
/
复合结构数据转换(Map)
/
public static void mapToJson(){
Person person1 = new Person();
person1setId(1);
person1setName("one");
Person person2 = new Person();
person2setId(2);
person2setName("two");
Map map = new HashMap();
mapput(person1getId(), person1);
mapput(person2getId(), person2);
//javabean转换json字符串
String jsonStr = JsonUtiltoJson(map);
Systemoutprintln(jsonStr);
//json字符串转换Map象
Map rtn = JsonUtilfromJson(jsonStr, new TypeToken<Map>(){}getType());
for(Entry entry : rtnentrySet()){
Integer key = entrygetKey();
Person newPerson = entrygetValue();
Systemoutprintln("key:"+key+","+newPersongetId()+","+newPersongetName());
}
}
public static void main(String[] args) {
objectToJson();
Systemoutprintln("");
listToJson();
Systemoutprintln("");
mapToJson();
}
}
需要准备的材料分别是:电脑、php编辑器、浏览器。
1、首先,打开php编辑器,新建php文件,例如:indexphp,填充问题基础代码。
2、在indexphp中,输入代码:
$b = json_decode($a);
echo $b->content->location->lat;
echo ',';
echo $b->content->location->lng;
3、浏览器运行indexphp页面,此时lng和lat的值都被打印了出来。
如果不是Android开发环境的话,首先需要引入处理JSON数据的包:json-lib-223-jdk15jar
Java样例程序如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import netsfjsonJSONArray;
import netsfjsonJSONObject;
public class DoJSON {
public static void main(String[] args) {
JSONArray employees = new JSONArray(); //JSON数组
JSONObject employee = new JSONObject(); //JSON对象
employeeput("firstName", "Bill"); //按“键-值”对形式存储数据到JSON对象中
employeeput("lastName", "Gates");
employeesadd(employee); //将JSON对象加入到JSON数组中
employeeput("firstName", "George");
employeeput("lastName", "Bush");
employeesadd(employee);
employeeput("firstName", "Thomas");
employeeput("lastName", "Carter");
employeesadd(employee);
Systemoutprintln(employeestoString());
for(int i=0; i<employeessize(); i++) {
JSONObject emp = employeesgetJSONObject(i);
Systemoutprintln(emptoString());
Systemoutprintln("FirstName :\t" + empget("firstName"));
Systemoutprintln("LastName : \t" + empget("lastName"));
}
}
}
运行效果:
[{"firstName":"Bill","lastName":"Gates"},{"firstName":"George","lastName":"Bush"},{"firstName":"Thomas","lastName":"Carter"}]
{"firstName":"Bill","lastName":"Gates"}
FirstName : Bill
LastName : Gates
{"firstName":"George","lastName":"Bush"}
FirstName : George
LastName : Bush
{"firstName":"Thomas","lastName":"Carter"}
FirstName : Thomas
LastName : Carter
以上就是关于com.google.gson.jsonobject怎样获取全部的内容,包括:com.google.gson.jsonobject怎样获取、请教php大神,如何提取一个json数据里的某值、Java如何获取JSON的内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)