Working with null-string when parsing json
suggest change{ "some_string": null, "ather_string": "something" }
If we will use this way:
JSONObject json = new JSONObject(jsonStr); String someString = json.optString("some_string");
We will have output:
someString = "null";
So we need to provide this workaround:
/** * According to http://stackoverflow.com/questions/18226288/json-jsonobject-optstring-returns-string-null * we need to provide a workaround to opt string from json that can be null. * <strong></strong> */ public static String optNullableString(JSONObject jsonObject, String key) { return optNullableString(jsonObject, key, ""); } /** * According to http://stackoverflow.com/questions/18226288/json-jsonobject-optstring-returns-string-null * we need to provide a workaround to opt string from json that can be null. * <strong></strong> */ public static String optNullableString(JSONObject jsonObject, String key, String fallback) { if (jsonObject.isNull(key)) { return fallback; } else { return jsonObject.optString(key, fallback); } }
And then call:
JSONObject json = new JSONObject(jsonStr); String someString = optNullableString(json, "some_string"); String someString2 = optNullableString(json, "some_string", "");
And we will have Output as we expected:
someString = null; //not "null" someString2 = "";
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents