8 Kasım 2017 Çarşamba

JSONObject Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.json.JSONObject;
Douglas Crockford tarafından geliştirilen org.json kütüphanesinin bir sınıfıdır.

constructor
Şöyle yaparız.
String str = ...;
JSONObject jsonObject = new JSONObject (str);
get metodu
Şöyle yaparız.
Object obj = jsonObject.get ("item");
getJSONArray metodu
JSONArray nesnesi döner. Elimizde şöyle bir json olsun.
{
  "coord": {
    ...
  },
  "weather": [
    {
      ...
    }
  ],
  ...
}
Şöyle yaparız.
JSONObject jsonObject = new JSONObject (str);

if (jsonObject.has("weather")) { 
  JSONArray weatherArray = jsonObject.getJSONArray("weather");
  ...
}
Şöyle yaparız.
JSONArray jarray = jsonObject.getJSONArray ("items");
getJSONObject metodu
Elimizde şöyle bir json olsun
{
  "call_log": {
    "7837369400": {
      "7000011216180827872": {
        ...
      },
      "7000301116163015079": {
        ...
      }
    }
  }
}
Şöyle yaparız.
JSONObject parent = new JSONObject(str);
JSONObject jObject= parent.getJSONObject ("call_log");
getLong metodu
Şöyle yaparız.
long time = jsonObject.getLong ("time");
getString metodu
Şöyle yaparız. Bu metod yerine optString() tercih edilebilir.
String question = jsonObject.getString ("question");
has metodu
Şöyle yaparız.
if(jsonObject.has ("datas")){...}
keys metodu
Elimizde şöyle bir json olsun
"call_log": {
  "7837369400": {
    ...
    },
  "7000301116": {
    ...
  }
}
Şöyle yaparız.
JSONObject callLog = ...

Iterator<String> phoneNumbers = callLog.keys();

while( phoneNumbers.hasNext() ) {
  String key = callLog.getJSONObject(phoneNumbers.next());  ...  
}
optString metodu
Açıklaması şöyle
Get an optional string associated with a key. It returns the defaultValue if there is no such key.
İmzası şöyle
public String optString(String key, String defaultValue);
Şöyle yaparız. Eğer nesnede belirtilen alan yoksa, exception fırlatmaz ve boş string yani "" döner.
String str = jsonObject.optString ("id"));
// will return "" if no key found where "" is an empty string
put metodu - key + string
Şöyle yaparız.
JSONObject obj = new JSONObject ();

obj.put ("login", "admin");
obj.put ("pass", "admin123");
put metodu - key + JSONArray
Şöyle yaparız.
JSONArray clients= ...;
obj.put ("clientlist",clients);
writeJSONString metodu
Şöyle yaparız.
JSONObject obj = new JSONObject ();

obj.put ("login","admin");
obj.put ("pass","admin123");

StringWriter out = new StringWriter ();
obj.writeJSONString (out);

String jsonText = out.toString ();
System.out.print (jsonText);
Çıktı olarak şunu alırız.
{"login": "admin", "pass":"admin123"}



Hiç yorum yok:

Yorum Gönder