15 Kasım 2016 Salı

Gson JsonParser Sınıfı

Gson Sınıfı
Gson Sınıfı yazısına taşıdım.

GsonBuilder Sınıfı
GsonBuilder Sınıfı yazısına taşıdım.

JsonReader Sınıfı
constructor
Şöyle yaparız.
InputStream in = ...;
JsonReader reader = new JsonReader(new InputStreamReader(in, "UTF-8"));
beginArray metodu
Elimizde bir dizi string'i olsun.
"[{...}]"
Şöyle yaparız.
reader.beginArray();
endArray metodu
Şöyle yaparız.
reader.endArray();
hasNext metodu
Şöyle yaparız.
Gson gson = new Gson();

reader.beginArray();
while (reader.hasNext()) {

 T cse = (T) gson.fromJson(reader, t.getClass());
 ...
}
reader.endArray();

nextString metodu
Şöyle yaparız.

String str = reader.nextString();
peek metodu
Şöyle yaparız.
if (reader.peek() == JsonToken.STRING) {...}
JsonParser Sınıfı
Giriş
Şu satırı dahil ederiz.
import com.google.gson.JsonParser;
constructor
Şöyle yaparız.
JsonParser parser = new JsonParser();
parse metodu
JsonElement döner. Şöyle yaparız.
String jsonStr ="...";
JsonObject json = (JsonObject) parser.parse(jsonStr);
Sınıf şu şekilde işaretli olabilir.
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class AdditinalInfo {

  @SerializedName("Tag")
  @Expose
  public String tagg;

  @SerializedName("Value")
  @Expose
  public String value;

}
JsonObject Sınıfı
Giriş
Şu satırı dahil ederiz.
import com.google.gson.JsonObject;
Kalıtımı şöyledir.
public final class JsonObject extends JsonElement 
entrySet metodu
Şöyle yaparız.
JsonObject jsonObject = ...;
Set<Entry<String, JsonElement>> jsonEntrySet = jsonObject.entrySet();
String,String şeklindeki bir map'e dönüştürmek için şöyle yaparız.
HashMap<String,String> result=new HashMap<String,String>();

for(Entry<String, JsonElement> entry: jsonEntrySet) {
  result.put(entry.getKey(), entry.getValue().toString());
}
getAsJsonArray metodu
Şöyle yaparız.
JsonObject jsonObject = ...;
JsonArray results = jsonObject.getAsJsonArray("results");
JsonArray Sınıfı
Giriş
Şu satırı dahil ederiz.
import com.google.gson.JsonArray;
JsonElement Sınıfı
Giriş
Şu satırı dahil ederiz.
import com.google.gson.JsonElement;
Soyut bir sınıftır ve her şeyin atasıdır. Kalıtımı şöyledir.
public abstract class JsonElement extends Object 
getAsJsonObject metodu
Şöyle yaparız.
JsonElement jsonElement = ...;
JsonObject jsonObject = jsonElement.getAsJsonObject();
SerializedName Annotation
Şöyle yaparız.
public class User extends DataSupport {

  @SerializedName("username")
  private String name = "";
  ...
}
Alanın ismi username olarak çıkar.
{
  ...
  "username": "test"
}
Transient
Bu alanlar Json'a çevrilmezler. Şöyle yaparız.
private transient String name;

Hiç yorum yok:

Yorum Gönder