如何在Java中将String值转换为自定义模型对象?

And*_*per 5 java sqlite string android java-opts

我有一个模型对象.其中,我有多个值.我想在SQLite中存储此值.但数据很大,所以我想在数据库中存储Direct Model对象.所以我将模型对象转换为字符串并将其存储到数据库中.

现在,问题是如何将此String值转换为Model Object.如果您有任何想法,请与我分享.

例如,

Person p = new Person();
p.setname("xyz");
p.setage("18");`

String person=p.toString();
Run Code Online (Sandbox Code Playgroud)

现在如何让这个"人"字符串回到Person" p"模型对象.

这是我的代码.

ContentValues values = new ContentValues();
    String favorite_id = UUID.randomUUID().toString();
    values.put(EMuseumLocalData.KEY_FAVORITE_EXHIBITS_ID, favorite_id);
    values.put(EMuseumLocalData.KEY_EXHIBIT_SUBCATEGORY_ITEM_ID, Integer.parseInt(categoryByCustomerList.get(position).getSubCategoryItemID()));
    try {
        Gson gson = new Gson();
        String personString = gson.toJson(getAllCategory.get(position).toString());
        values.put(EMuseumLocalData.KEY_EXHIBIT_SUBCATEGORY_ITEM_DATA, personString);

        Gson gson1 = new Gson();
        CategoryByCustomer categoryByCustomer = gson1.fromJson(personString, categoryByCustomer.getName());
    } catch (JSONException e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

Pan*_*mar 15

您应该使用GSON或类似的库.


存储到DB

例如,如果您使用 GSON

Person p = new Person();
p.setname("xyz");
p.setage("18");
Gson gson = new Gson();
String personString = gson.toJson(p);
Run Code Online (Sandbox Code Playgroud)

现在将此personString存储到DB.


从DB读取

从数据库中获取此对象,从DB读取字符串并将其转换为如下所示的对象

String personStringFromDB = READ_LOGIC_OF_DB;
Gson gson = new Gson();
Person p = gson.fromJson(personStringFromDB, Person.class);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请阅读GSON - Gson示例