900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java json返回null_java-JSON jsonObject.optString()返回字符串“ null”

java json返回null_java-JSON jsonObject.optString()返回字符串“ null”

时间:2024-02-09 23:40:43

相关推荐

java json返回null_java-JSON jsonObject.optString()返回字符串“ null”

我的Josn解析器很长,必须创建一个新类来解决该问题,然后只需在每个方法中添加1条额外的行并重命名当前的JSONObject属性名称,因此所有其他调用都引用我的新类而不是JSONObject。

public static ArrayList readNews(String json) {

if (json != null) {

ArrayList res = new ArrayList<>();

try {

JSONArray jsonArray = new JSONArray(json);

for (int i = 0; i < jsonArray.length(); i++) {

//before JSONObject jo = jsonArray.getJSONObject(i);

JSONObject joClassic = jsonArray.getJSONObject(i);

//facade

FixJsonObject jo = new FixJsonObject(joClassic);

PieceOfNews pn = new PieceOfNews();

pn.setId(jo.getInt("id"));

pn.setImageUrl(jo.getString("imageURL"));

pn.setText(jo.getString("text"));

pn.setTitle(jo.getString("title"));

pn.setDate(jo.getLong("mills"));

res.add(pn);

}

return res;

} catch (JSONException e) {

e.printStackTrace();

}

}

return null;

}

这是我的类,其中包含我需要的方法,您可以添加更多

public class FixJsonObject {

private JSONObject jsonObject;

public FixJsonObject(JSONObject jsonObject) {

this.jsonObject = jsonObject;

}

public String optString(String key, String defaultValue) {

if (jsonObject.isNull(key)) {

return null;

} else {

return jsonObject.optString(key, defaultValue);

}

}

public String optString(String key) {

return optString(key, null);

}

public int optInt(String key) {

if (jsonObject.isNull(key)) {

return 0;

} else {

return jsonObject.optInt(key, 0);

}

}

public double optDouble(String key) {

return optDouble(key, 0);

}

public double optDouble(String key, double defaultValue) {

if (jsonObject.isNull(key)) {

return 0;

} else {

return jsonObject.optDouble(key, defaultValue);

}

}

public boolean optBoolean(String key, boolean defaultValue) {

if (jsonObject.isNull(key)) {

return false;

} else {

return jsonObject.optBoolean(key, defaultValue);

}

}

public long optLong(String key) {

if (jsonObject.isNull(key)) {

return 0;

} else {

return jsonObject.optLong(key, 0);

}

}

public long getLong(String key) {

return optLong(key);

}

public String getString(String key) {

return optString(key);

}

public int getInt(String key) {

return optInt(key);

}

public double getDouble(String key) {

return optDouble(key);

}

public JSONArray getJSONArray(String key) {

if (jsonObject.isNull(key)) {

return null;

} else {

return jsonObject.optJSONArray(key);

}

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。