gpt4 book ai didi

android - 将 JSON 转换为内容值

转载 作者:行者123 更新时间:2023-11-29 15:23:23 25 4
gpt4 key购买 nike

有没有一种简单的方法可以从 Web 服务获取 JSON 并将其放入我的 C# mono for android (xamarin) SQLite 数据库中?有一些繁琐的方法可以做到这一点,但我想要一些快速而优雅的方法。

最佳答案

这个问题很老了,但这是 Java 中@gghuffer 的等效代码:

public static ContentValues objectToContentValues(Object o) throws IllegalAccessException {
ContentValues cv = new ContentValues();

for (Field field : o.getClass().getFields()) {
Object value = field.get(o);
//check if compatible with contentvalues
if (value instanceof Double || value instanceof Integer || value instanceof R.string || value instanceof Boolean
|| value instanceof Long || value instanceof Float || value instanceof Short) {
cv.put(field.getName(), value.toString());
Log.d("CVLOOP", field.getName() + ":" + value.toString());
} else if (value instanceof Date) {
cv.put(field.getName(), new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((Date)value));
}
}

return cv;
}

要使用它,您需要使用 Gson 库并为所有 json(即 1 个对象 - 1 json)定义 java 类,然后,对于每个类,您需要实现以下代码:

 public static YourClass fromJSON(String dpJSON) {
Gson gson = new Gson();
return gson.fromJson(dpJSON, YourClass.class);
}

最后,你有了你的 json 字符串 jsonStr,所以:

ContentValues cv = Util.objectToContentValues(YourClass.fromJSON(jsonStr));

希望对你有帮助

关于android - 将 JSON 转换为内容值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15819406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com