Realm.IO - 如何使用createOrUpdateAllFromJson解析JSONArray?

时间:2017-06-06 09:10:32

标签: android json realm realm-list

我在使用createOrUpdateAllFromJson在JSONArray中解析时遇到问题。 代码如下:

JSON response:
    {
      "recipe": {
        "_id": "56387b241a258f0300c469ac",
    "cookingSteps": [
          "Sätt ugnen på 175 grader.",
          "Lägg kycklingfiléerna i en ugnsfast form. \r\nBlanda ihop ingredienserna till såsen och häll sedan över kycklingen.",
          "Laga i mitten av ugnen i ca. 60 min.\r\n\r\nFantastiskt enkelt och gott:)"
        ]
    }
    }

My RecipeRealmObject类:

public class RecipeRealmObject extends RealmObject {

    @PrimaryKey
    private String _id;
    private RealmList<RealmString> cookingSteps;

 public String get_id() {
        return _id;
    }

    public void set_id(String _id) {
        this._id = _id;
    }
public RealmList<RealmString> getCookingSteps() {
        return cookingSteps;
    }

    public void setCookingSteps(RealmList<RealmString> cookingSteps) {
        this.cookingSteps = cookingSteps;
    }
}

RealmString类:

public class RealmString extends RealmObject {

    private String string;

    public RealmString() {
    }

    public RealmString(String string) {
        this.string = string;
    }

    public String getString() {
        return string;
    }

    public void setString(String string) {
        this.string = string;
    }


}

使用createOrUpdateAllFromJson方法解析JSON:

realm.createOrUpdateAllFromJson(RecipeRealmObject.class, json);

但是我在尝试解析响应时遇到以下异常:

引起:org.json.JSONException:值Sättugnenpåknappt225 grader。 Smörjenugnsfast form som ska varasålitenatt fiskblocketliggertrångtochha kantersomgårminstnågoncmöveriskens.höjd。在java.lang.String类型的0处无法转换为JSONObject。

非常感谢任何帮助。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Realm中的另一种方法,其中还可以传递Json String JSONObject和inputstream

    realm.createOrUpdateObjectFromJson(modelclass.class,Jsonstring);
    realm.createOrUpdateObjectFromJson(modelclass.class,JSONObject);
    realm.createOrUpdateObjectFromJson(modelclass.class,InputStream);