Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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
Java GSON无法分析Zomato餐厅集合_Java_Gson_Zomato Api - Fatal编程技术网

Java GSON无法分析Zomato餐厅集合

Java GSON无法分析Zomato餐厅集合,java,gson,zomato-api,Java,Gson,Zomato Api,我在家里使用Java和Akka设计新的应用程序,但我面临着从Zomato获取api响应的问题 JSON响应可以在下面找到。我已经创建了带有对象列表的一流餐厅。我应该如何解析它 { "results_found": 131, "results_start": 0, "results_shown": 10, "restaurants": [ { "restaurant": { "R": { "res_id": 61032

我在家里使用Java和Akka设计新的应用程序,但我面临着从Zomato获取api响应的问题

JSON响应可以在下面找到。我已经创建了带有对象列表的一流餐厅。我应该如何解析它

{
"results_found": 131,
"results_start": 0,
"results_shown": 10,
"restaurants": [
    {
        "restaurant": {
            "R": {
                "res_id": 6103211
            },
            "apikey": "4972ea7a10293fc07e997364eef03d3d",
            "id": "6103211",
            "name": "Dishoom",
            "url": "https://www.zomato.com/london/dishoom-covent-garden?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1",
            "location": {
                "address": "12 Upper St Martin's Lane, Covent Garden, London WC2H 9FB",
                "locality": "Upper St Martin's Lane, Covent Garden",
                "city": "London",
                "city_id": 61,
                "latitude": "51.5124170000",
                "longitude": "-0.1271640000",
                "zipcode": "WC2H 9FB",
                "country_id": 215,
                "locality_verbose": "Upper St Martin's Lane, Covent Garden, London"
            },
            "switch_to_order_menu": 0,
            "cuisines": "Indian, North Indian, Curry, Cafe",
            "average_cost_for_two": 35,
            "price_range": 2,
            "currency": "\u00a3",
            "offers": [],
            "thumb": "https://b.zmtcdn.com/data/res_imagery/6103211_RESTAURANT_19f7b41684765da1a700c2818f16cde0.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A",
            "user_rating": {
                "aggregate_rating": "4.9",
                "rating_text": "Excellent",
                "rating_color": "3F7E00",
                "votes": "919"
            },
            "photos_url": "https://www.zomato.com/london/dishoom-covent-garden/photos?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1#tabtop",
            "menu_url": "https://www.zomato.com/london/dishoom-covent-garden/menu?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1&openSwipeBox=menu&showMinimal=1#tabtop",
            "featured_image": "https://b.zmtcdn.com/data/res_imagery/6103211_RESTAURANT_19f7b41684765da1a700c2818f16cde0.jpg",
            "has_online_delivery": 0,
            "is_delivering_now": 0,
            "include_bogo_offers": true,
            "deeplink": "zomato://restaurant/6103211",
            "has_table_booking": 0,
            "events_url": "https://www.zomato.com/london/dishoom-covent-garden/events#tabtop?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1",
            "establishment_types": []
        }
    },

首先,JSON是无效的。我假设您可以管理有效的JSON。在验证JSON之后

gson.fromJson(restaurants, Restaurant[].class);
首先创建一个餐厅POJO类

餐厅类的属性:

R: obj
apikey: string
location: obj
.... like .....
添加您需要的所有字段

之后,使用代码进行解析。但首先,从JSON中取出数组

gson.fromJson(restaurants, Restaurant[].class);

如果json与您在此处粘贴的内容完全相同,那么它似乎不是有效的json。试试这个:

  {
    "results_found": 131,
    "results_start": 0,
    "results_shown": 10,
    "restaurants": [{
        "restaurant": {
            "R": {
                "res_id": 6103211
            },
            "apikey": "4972ea7a10293fc07e997364eef03d3d",
            "id": "6103211",
            "name": "Dishoom",
            "url": "https://www.zomato.com/london/dishoom-covent-garden?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1",
            "location": {
                "address": "12 Upper St Martin's Lane, Covent Garden, London WC2H 9FB",
                "locality": "Upper St Martin's Lane, Covent Garden",
                "city": "London",
                "city_id": 61,
                "latitude": "51.5124170000",
                "longitude": "-0.1271640000",
                "zipcode": "WC2H 9FB",
                "country_id": 215,
                "locality_verbose": "Upper St Martin's Lane, Covent Garden, London"
            },
            "switch_to_order_menu": 0,
            "cuisines": "Indian, North Indian, Curry, Cafe",
            "average_cost_for_two": 35,
            "price_range": 2,
            "currency": "\u00a3",
            "offers": [],
            "thumb": "https://b.zmtcdn.com/data/res_imagery/6103211_RESTAURANT_19f7b41684765da1a700c2818f16cde0.jpg?fit=around%7C200%3A200&crop=200%3A200%3B%2A%2C%2A",
            "user_rating": {
                "aggregate_rating": "4.9",
                "rating_text": "Excellent",
                "rating_color": "3F7E00",
                "votes": "919"
            },
            "photos_url": "https://www.zomato.com/london/dishoom-covent-garden/photos?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1#tabtop",
            "menu_url": "https://www.zomato.com/london/dishoom-covent-garden/menu?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1&openSwipeBox=menu&showMinimal=1#tabtop",
            "featured_image": "https://b.zmtcdn.com/data/res_imagery/6103211_RESTAURANT_19f7b41684765da1a700c2818f16cde0.jpg",
            "has_online_delivery": 0,
            "is_delivering_now": 0,
            "include_bogo_offers": true,
            "deeplink": "zomato://restaurant/6103211",
            "has_table_booking": 0,
            "events_url": "https://www.zomato.com/london/dishoom-covent-garden/events#tabtop?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1",
            "establishment_types": []
        }
    }]
}