使用 -> (Retrofit2 + Jackson) 在 Android 上解析 JSON

Parsing JSON on Android Using -> ( Retrofit2 + Jackson )

有人有想法或好的网站可以使用 retrofit2+jackson 在 android 中变大 Json 吗?

还有一个问题:Jackson 真的比 Gson 快吗?!

用户简单

public class UserSimple {

    @Json(name = "fields")
    private List<Field> fields = null;
    @Json(name = "popular")
    private List<Popular> popular = null;
    @Json(name = "http_code")
    private Integer httpCode;

// getter and setter
}

Popular.class

public class Popular {

    @Json(name = "id")
    private Integer id;
    @Json(name = "name")
    private String name;

    // getter and setter
}

Filed.class

public class Field {

    @Json(name = "id")
    private Integer id;
    @Json(name = "name")
    private String name;

        // getter and setter

}

最后

private void mapFromJson() {
        Log.d(TAG, "mapFromJson: ()++++++");


        String jsonString = "{\n" +
                "   \"fields\":[\n" +
                "      {\n" +
                "         \"id\":108,\n" +
                "         \"name\":\"Advertising\"\n" +
                "      },\n" +
                "      {\n" +
                "         \"id\":105,\n" +
                "         \"name\":\"Writing\"\n" +
                "      }\n" +
                "   ],\n" +
                "   \"popular\":[\n" +
                "      {\n" +
                "         \"id\":44,\n" +
                "         \"name\":\"Graphic Design\"\n" +
                "      },\n" +
                "      {\n" +
                "         \"id\":132,\n" +
                "         \"name\":\"UI/UX\"\n" +
                "      }\n" +
                "   ],\n" +
                "   \"http_code\":200\n" +
                "}";

        Moshi moshi = new Moshi.Builder().build();
        JsonAdapter<UserSimple> jsonAdapter = moshi.adapter(UserSimple.class);

        try {
            UserSimple userSimple = jsonAdapter.fromJson(jsonString);
            Log.v(TAG, "mapFromJson2: " + Objects.requireNonNull(userSimple).toString());
        } catch (IOException e) {
            e.printStackTrace();
        }

        Log.d(TAG, "mapFromJson:   ---- ");

    }

这应该有所帮助。