所以我使用GSON从API解析JSON,并且如何解析数据中的动态字段.
以下是查询返回的JSON数据的示例:
{
-
30655845: {
id: "30655845"
name: "testdata
description: ""
latitude: "38"
longitude: "-122"
altitude: "0"
thumbnailURL: http://someimage.com/url.jpg
distance: 9566.6344386665
}
-
28688744: {
id: "28688744"
name: "testdata2"
description: ""
latitude: "38"
longitude: "-122"
altitude: "0"
thumbnailURL: http://someimage.com/url.jpg
distance: 9563.8328713012
}
}
Run Code Online (Sandbox Code Playgroud)
我目前处理单个静态值的方法是使用类:
import com.google.gson.annotations.SerializedName;
public class Result
{
@SerializedName("id")
public int id;
@SerializedName("name")
public String name;
@SerializedName("description")
public String description;
@SerializedName("latitude")
public Double latitude;
@SerializedName("longitude")
public Double longitude;
@SerializedName("altitude")
public Double altitude;
@SerializedName("thumbnailURL")
public String thumbnailURL;
@SerializedName("distance") …Run Code Online (Sandbox Code Playgroud) 我有以下JSON代码段:
{ "randomlygeneratedKeyname0" : "some-value",
"randomlygeneratedKeyname1": {
"randomlygeneratedKeyname2" : {
"randomlygeneratedKeyname3": "some-value",
"randomlygeneratedKeyname4": "some-value"
},
"randomlygeneratedKeyname5": {
"randomlygeneratedKeyname6": "some-value",
"randomlygeneratedKeyname7": "some-value"
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,我不知道它们的名称randomlygeneratedKeyname和它们的命名约定是不一致的,因此我无法创建相应的Java字段/变量名称.
我如何(在)GSON中序列化它?
在此先感谢您的帮助.
我是java/Android的初学者,我尝试用Gson解析JSON.
我对文件部分有些困难.根据我的阅读,我应该使用MapHash,但我不确定如何在此代码中使用它
这是我的主课
InputStream source = retrieveStream(url);
Gson gson = new Gson();
Reader reader = new InputStreamReader(source);
SearchResponse response = gson.fromJson(reader, SearchResponse.class);
Run Code Online (Sandbox Code Playgroud)
进行解析的类
public class SearchResponse {
public List<Podcast> podcasts;
class Podcast {
@SerializedName("files")
private List<File> files;
@SerializedName("format")
private String format;
@SerializedName("title")
private String title;
class File {
private String ValueX;
private String URLX;
}
}
}
Run Code Online (Sandbox Code Playgroud)
json结构
{
"podcasts": [
{
"files": [
{"NameA": "ValueA"},
{"NameB": "ValueB"},
{"...": "..."}
],
"format": "STRING",
"title": "STRING"
}
]
}
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
这是一个编辑过的JSon结构文件我尝试解析 …