Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中表示随机json对象_Android_Json - Fatal编程技术网

如何在Android中表示随机json对象

如何在Android中表示随机json对象,android,json,Android,Json,我正在Android应用程序中使用以下库-> 我不知道如何将下面的json字符串表示成一个适当的类来抽象它 "random_chunks": [ { "2013-01-01T10:00:00+00:00": { "available": 61, "in_inventory": 61, "in_service": 61, "percent_in_inventory_availab

我正在Android应用程序中使用以下库-> 我不知道如何将下面的json字符串表示成一个适当的类来抽象它

"random_chunks": [
    {
        "2013-01-01T10:00:00+00:00": {
            "available": 61,
            "in_inventory": 61,
            "in_service": 61,
            "percent_in_inventory_available": 100,
            "percent_in_service_available": 100
        }
    },
基本上,我们有一个名为“random_chunks”的数组,其中包含一个动态名称为“2013-01-01T10:00:00+00:00”的对象

以下是我的想法:

public class RandomChunks {
    @SerializedName("random_chunks")
    private foo[] chunks;

    public class foo extends Object {
        // Here is where I get stuck
}

如何定位此随机名称?我不能说@SerializedName(“一些随机字符串”)。想法?

你的结构有点怪异,简洁:

"random_chunks": [
{
    "2013-01-01T10:00:00+00:00": { } 
} , 
.... ]
在我看来,更自然的表达方式是直接使用字段:

 "random_chunks": {
    "2013-01-01T10:00:00+00:00": { },
    "2012-01-01T10:00:00+00:00": { },
    ...
 }
上面的JSON是一个映射,即
randomChunks=Map

在您的情况下,由于无法更改格式,我相信可以(但不是很干净)将其表示为一组地图:

 private Map<String, Stuff>[] weirdObjects;
private Map[]古怪对象;
实际上,所有这些地图都很无聊,只有一个键,就是你要找的那个字段。这并不是最有效的表达方式,但似乎这就是你得到的


注意:我对GSON不太熟悉,所以我不确定它是否能够处理这个问题。但是Jackson可以。

2个问题:你能改变你得到的json吗?您需要使用json吗?如果您只是使用内置的json库手动执行,这将很容易实现。不幸的是,我无法更改获得的json,是的,我必须使用json。这是一个rails服务器,我们被迫使用REST服务,这是我的错误。我想问你需要使用GSON。我更喜欢只使用内置的JSONObject/JSONArray。啊,我不必这么做,但现在它已经大量集成到代码库中了。GSON库实际上包含JsonArray对象,我想知道我是否可以用它来解决这个问题。GSON非常适合序列化/反序列化,但我认为它不能与动态键一起使用。如果您可以更改json,这将很容易,但我认为您无法对其进行反序列化。