導航:首頁 > 凈水問答 > 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數據相關的資料

熱點內容
小飯店用的油煙凈化器怎麼安裝 瀏覽:937
廚房污水泵怎麼選型 瀏覽:37
智能超純水機多少錢 瀏覽:985
飲水機的水用什麼排放 瀏覽:995
用很小的小三角形屏怎麼做飲水機 瀏覽:654
光固化符合樹脂 瀏覽:941
滾筒洗衣機廢水還是老式廢水 瀏覽:192
小車有汽油濾芯多少錢 瀏覽:479
涼水除垢劑是哪一種化學劑 瀏覽:750
污水終端濕地報修怎麼寫 瀏覽:865
環保濾網過濾器 瀏覽:134
純水最高理論電阻值是多少 瀏覽:272
優玥純水凈水機多少錢一台 瀏覽:859
醫療污水工程施工資質 瀏覽:170
創星cf600過濾效果 瀏覽:275
養蜂不銹鋼過濾網 瀏覽:677
無廢水反滲透凈水器 瀏覽:343
實驗超純水設備怎麼翻譯 瀏覽:227
化工edi 瀏覽:634
醫療廢水多久做一次水質檢測 瀏覽:221