无法访问 LinkedIn 个人资料响应中的 profilePicture JSON 参数 (Java)
Unable to access profilePicture JSON parameter in LinkedIn profile response (Java)
我正在尝试检索 LinkedIn liteProfile 响应中的 profilePicture 参数。但是,出于某种原因,它们 return 两个具有相同参数名称的 json 对象(谁甚至构建了这个 API?!)。
回复:
{
"firstName": {
"localized": {
"en_US": "Damien"
},
"preferredLocale": {
"country": "US",
"language": "en"
}
},
"lastName": {
"localized": {
"en_US": "Roger"
},
"preferredLocale": {
"country": "US",
"language": "en"
}
},
"profilePicture": {
"displayImage": "urn:li:digitalmediaAsset:C5103AQEGbbhK9i7Qhw",
"displayImage~": {
"paging": {
"count": 10,
"start": 0,
"links": []
},
"elements": [
{
"identifiers": [
{
"identifier": "https://media.licdn.com/dms/image/C5103AQEGbbhK9i7Qhw/profile-displayphoto-shrink_200_200.....",
....
}
}
]
}
}
}
您可能已经注意到,在 profilePicture
中,有两个名为 displayImage
的参数。一个带有 ~
。我如何从 java pojo class 访问它?
我的 class 看起来像这样:
public class LinkedInProfileResponse {
public FirstName firstName;
public LastName lastName;
public ProfilePicture profilePicture;
public String id;
public class ProfilePicture {
public String displayImage;
public DisplayImage displayImage;
}
}
可以在 POJO 中的字段上使用 @SerializedName
注释来指定要映射到 Java 字段的 JSON 属性的名称。
所以在你的情况下:
...
@SerializedName("displayImage~)
public DisplayImage displayImage;
...
我正在尝试检索 LinkedIn liteProfile 响应中的 profilePicture 参数。但是,出于某种原因,它们 return 两个具有相同参数名称的 json 对象(谁甚至构建了这个 API?!)。
回复:
{
"firstName": {
"localized": {
"en_US": "Damien"
},
"preferredLocale": {
"country": "US",
"language": "en"
}
},
"lastName": {
"localized": {
"en_US": "Roger"
},
"preferredLocale": {
"country": "US",
"language": "en"
}
},
"profilePicture": {
"displayImage": "urn:li:digitalmediaAsset:C5103AQEGbbhK9i7Qhw",
"displayImage~": {
"paging": {
"count": 10,
"start": 0,
"links": []
},
"elements": [
{
"identifiers": [
{
"identifier": "https://media.licdn.com/dms/image/C5103AQEGbbhK9i7Qhw/profile-displayphoto-shrink_200_200.....",
....
}
}
]
}
}
}
您可能已经注意到,在 profilePicture
中,有两个名为 displayImage
的参数。一个带有 ~
。我如何从 java pojo class 访问它?
我的 class 看起来像这样:
public class LinkedInProfileResponse {
public FirstName firstName;
public LastName lastName;
public ProfilePicture profilePicture;
public String id;
public class ProfilePicture {
public String displayImage;
public DisplayImage displayImage;
}
}
可以在 POJO 中的字段上使用 @SerializedName
注释来指定要映射到 Java 字段的 JSON 属性的名称。
所以在你的情况下:
...
@SerializedName("displayImage~)
public DisplayImage displayImage;
...