2

私は Spring for Android を使用しており、次のようにして JSON データをプルしています。

CourseActivity.java

private void getCourses()
{
  RestTemplate restTemplate = new RestTemplate();
  restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
  String url = "http://192.168.1.74:3000/andy/courses.json";
  Course[] coursesArray = restTemplate.getForObject(url, Course[].class);

  ...
}

Course.java

@JsonIgnoreProperties(ignoreUnknown = true)
public class Course implements Parcelable, DBObject
{
    @JsonProperty
    private String number = null;
    @JsonProperty
    private String title = null;
    @JsonProperty
    private int school_id = -1;
    @JsonProperty
    private String department = null;

    ...
}

JSON 呼び出しは、次のタイプのデータを返します。

[{"id":1,"number":"CE-490","title":"Senior Design","school_id":1,"department":"Computer Engineering"},{"id":2,"number":"CE-491","title":"Introduction to Mobile App Development","school_id":1,"department":"Computer Engineering"}]

これで、JSON データ キーがコース属性名に直接マップされていることがわかります。

別の名前を付けたい場合はどうすればよいですか? 具体的には、JSON が「notify_on_follow」などのキーを返す場合、Spring for Android を使用してそれをアンダースコアなしで「notifyOnFollow」にマップするにはどうすればよいですか? それとも、「アクティブ」を「isActive」に変更しますか?

4

1 に答える 1

3

ドキュメントが見つかりませんが、これでうまくいくと確信しています:

@JsonProperty("notify_on_follow")
private SomeType notifyOnFollow;
于 2012-11-18T02:40:59.440 に答える