相关疑难解决方法(0)

如何用GSON解析动态JSON字段?

所以我使用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)

java api json gson

20
推荐指数
1
解决办法
2万
查看次数

使用GSON处理随机生成和不一致的JSON字段/密钥名称

我有以下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 json gson

14
推荐指数
2
解决办法
7971
查看次数

动态名称的Gson(Android)

我是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结构文件我尝试解析 …

java android dynamic gson

5
推荐指数
1
解决办法
2320
查看次数

标签 统计

gson ×3

java ×3

json ×2

android ×1

api ×1

dynamic ×1