导航:首页 > 净水问答 > gson过滤json数据

gson过滤json数据

发布时间:2020-12-23 23:38:59

1. gson实体转json时当字段值为空时,json串中就不存在该属于,请问如何在值为空的时候也保留该字符串

用这种方式就可以了:

Gson g = new GsonBuilder().serializeNulls().create();

2. 怎样使用gson 解析 json字符串

Gson是谷歌推出的解析json数据以及将对象转换成json数据的一个开源框架. 现在json因其易读专性和高效属率而被广泛的使用着.
相对于java以及其它json的解析框架,Gson非常的好用.
简单来讲就是根据json的数据结构定义出相应的javabean --->"new"出Gson的实例gson---->gson.fromJson(jsonString,JavaBean.class) 即可.转载,仅供参考。

3. 如何用Gson解析复杂的Json数据

你先定义类,然后使用Gson的fromJson方法转换成类。
下面是我的代码:
public class showapi_res_body {
private cityInfo cityInfo = new cityInfo();

private f1 f1 = new f1();

@Override
public String toString() {
return "showapi_res_body [cityInfo=" + cityInfo.toString() + ", f1=" + f1.toString() + "]";
}

}

public class day_weather_pic {
private int night_air_temperature = 19;
private String night_weather = "多云";
@Override
public String toString() {
return "day_weather_pic [night_air_temperature=" + night_air_temperature + ", night_weather=" + night_weather
+ "]";
}

}

public class f1 {
private String day="20150906";
private int day_air_temperature=3;
private String day_weather= "晴";
private day_weather_pic day_weather_pic = new day_weather_pic();
@Override
public String toString() {
return "f1 [day=" + day + ", day_air_temperature=" + day_air_temperature + ", day_weather=" + day_weather
+ ", day_weather_pic=" + day_weather_pic.toString() + "]";
}

}

public class cityInfo {

private String c2 ="lanzhou";
private String c3 ="兰州";
@Override
public String toString() {
return "cityInfo [c2=" + c2 + ", c3=" + c3 + "]";
}

}

public class showapi {
private int showapi_res_code = 0;
private String showapi_res_error = "";
private showapi_res_body showapi_res_body = new showapi_res_body();
@Override
public String toString() {
return "showapi [showapi_res_code=" + showapi_res_code + ", showapi_res_error=" + showapi_res_error
+ ", showapi_res_body=" + showapi_res_body.toString() + "]";
}

}

public class test {
public static void main(String[] args) {
showapi anObject = new showapi();

Gson gson = new Gson();
String json = gson.toJson(anObject);
System.out.println(json.toString());

showapi a = gson.fromJson(json, showapi.class);

System.out.println(a.toString());
}
}

4. gson怎么解析大容量的json数据

future对象中 日期:详细天气对象 详细天气对象中 temperature,weather,wind,week,date 你的 日期和详细天气对象应该有个关联关系,比如date

5. 如何用gson解析jsonarray

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率.
从结构上看,所有的数据(data)最终都可以分解成三种类型:
第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词。
第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(List),比如"北京,上海"。
第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据有一个名称,还有一个与之相对应的值,这又称作散列(hash)或字典(dictionary),比如"首都:北京"。
Json的规格非常简单,只用一个页面几百个字就能说清楚,而且Douglas Crockford声称这个规格永远不必升级,因为该规定的都规定了。
1) 并列的数据之间用逗号(",")分隔。
2) 映射用冒号(":")表示。
3) 并列数据的集合(数组)用方括号("[]")表示。
4) 映射的集合(对象)用大括号("{}")表示。

在Android中可以使用Gson解析JSON数据
首先,从 code.google.com/p/google-gson/downloads/list下载GsonAPI:
google-gson-1.7.1-release.zip
把gson-1.7.jar 到libs(项目根目录新建一个libs文件夹)中。
可以使用以下两种方法解析JSON数据:
通过获取JsonReader对象解析JSON数据:

6. 在用Gson解析对象的时候,json数据中没有的字段,会赋初值。

设置过滤器吧,把没用到的属性配置到里面

7. gson怎么解析json里面对象的数组

首先要导入Gson包;
例如有个penson类:
Gson gson = new Gson();
String json ;
person[] pers = gson. fromJson (json , person[].class);

8. 我用gson.fromJson转换服务器数据出现异常怎么处理

您好,很高兴能帮助您,
JSON的字符串建立好对应的对象。
用GSon

Gson gson = new Gson();
result = gson.fromJson(strJson, MyObject.class);
你的采纳是我前进的版动力权,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!

9. 如何用gson将对象转换为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(){}

/**
* 对象转换成字符串
* @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> T fromJson(String str, Type type) {
Gson gson = new Gson();
return gson.fromJson(str, type);
}

/**
* json字符串转成对象
* @param str
* @param type
* @return
*/
public static <T> T fromJson(String str, Class<T> 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<Person> list = new ArrayList<Person>();
list.add(person1);
list.add(person2);

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

//json字符串转换成javabean对象
List<Person> rtn = JsonUtil.fromJson(jsonStr, new TypeToken<List<Person>>(){}.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<Integer,Person> map = new HashMap<Integer,Person>();
map.put(person1.getId(), person1);
map.put(person2.getId(), person2);

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

//json字符串转换成Map对象
Map<Integer,Person> rtn = JsonUtil.fromJson(jsonStr, new TypeToken<Map<Integer,Person>>(){}.getType());
for(Entry<Integer, Person> 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();
}

}

10. Gson解析比较复杂的json数据

你先定义类,然后使用Gson的fromJson方法转换成类。
下面是我的代码:
public class showapi_res_body {
private cityInfo cityInfo = new cityInfo();

private f1 f1 = new f1();

@Override
public String toString() {
return "showapi_res_body [cityInfo=" + cityInfo.toString() + ", f1=" + f1.toString() + "]";
}

}

public class day_weather_pic {
private int night_air_temperature = 19;
private String night_weather = "多云";
@Override
public String toString() {
return "day_weather_pic [night_air_temperature=" + night_air_temperature + ", night_weather=" + night_weather
+ "]";
}

}

public class f1 {
private String day="20150906";
private int day_air_temperature=3;
private String day_weather= "晴";
private day_weather_pic day_weather_pic = new day_weather_pic();
@Override
public String toString() {
return "f1 [day=" + day + ", day_air_temperature=" + day_air_temperature + ", day_weather=" + day_weather
+ ", day_weather_pic=" + day_weather_pic.toString() + "]";
}

}

public class cityInfo {

private String c2 ="lanzhou";
private String c3 ="兰州";
@Override
public String toString() {
return "cityInfo [c2=" + c2 + ", c3=" + c3 + "]";
}

}

public class showapi {
private int showapi_res_code = 0;
private String showapi_res_error = "";
private showapi_res_body showapi_res_body = new showapi_res_body();
@Override
public String toString() {
return "showapi [showapi_res_code=" + showapi_res_code + ", showapi_res_error=" + showapi_res_error
+ ", showapi_res_body=" + showapi_res_body.toString() + "]";
}

}

public class test {
public static void main(String[] args) {
showapi anObject = new showapi();

Gson gson = new Gson();
String json = gson.toJson(anObject);
System.out.println(json.toString());

showapi a = gson.fromJson(json, showapi.class);

System.out.println(a.toString());
}
}

运行后输出的日志:

{"showapi_res_code":0,"showapi_res_error":"","showapi_res_body":{"cityInfo":{"c2":"lanzhou","c3":"兰州"},"f1":{"day":"20150906","day_air_temperature":3,"day_weather":"晴","day_weather_pic":{"night_air_temperature":19,"night_weather":"多云"}}}}

showapi [showapi_res_code=0, showapi_res_error=, showapi_res_body=showapi_res_body [cityInfo=cityInfo [c2=lanzhou, c3=兰州], f1=f1 [day=20150906, day_air_temperature=3, day_weather=晴, day_weather_pic=day_weather_pic [night_air_temperature=19, night_weather=多云]]]]

阅读全文

与gson过滤json数据相关的资料

热点内容
用蒸馏法分离乙酸和二氯甲烷 浏览:815
ab法污水处理实验 浏览:833
污水处理方案设计基本资料 浏览:625
ro膜为什么横着放 浏览:415
水蒸气蒸馏分离环己酮和水 浏览:598
清理污水池淤泥怎么联系 浏览:741
饮水机用什么防水 浏览:331
超纯水和edi水水干净 浏览:113
魔凡即热式饮水机怎么样小红书 浏览:662
高层水垢大装个什么净水器好 浏览:687
污水处理厂3d演示 浏览:538
污水处理中投加磷酸盐的计算 浏览:3
格力72558过滤网怎么拆 浏览:564
金泉涞净水器质量如何 浏览:398
污水处理厂设计怎么收费 浏览:821
含镁废水去除 浏览:764
净水器切管机怎么调试 浏览:451
聚酯树脂专用漆 浏览:42
充卡饮水机怎么用 浏览:703
纯水机产的水怎么测酸碱度 浏览:320