Анализ ответов JSON в адаптере Apama HTTPClient - PullRequest
2 голосов
/ 15 мая 2019

Я хочу проанализировать ответ JSON, поступающий от вызова HTTP REST, с помощью адаптера HTTPClient в apama.Строка ответа выглядит следующим образом:

{
    "geometry": {
                "type": "MultiPolygon",
                "cordinates": [
                                [   
                                    [
                                        [
                                            -2.420261362208627,
                                            51.29662513520916
                                        ],
                                        [
                                            -2.42211658046158,
                                            51.28747916639892
                                        ],
                                        [
                                            -2.439047101373828,
                                            51.28519049850415
                                        ],
                                        [
                                            -2.453288677334455,
                                            51.273848703615954
                                        ]
                                    ]
                                ]   
                            ]
            },          
      "properties": {
                "name": "Bath and NE Somerset",
                "public_name": "Bath and North East Somerset",
                "region": "South West",
                "public_region": "South West"
            }
}

Я написал определение события для того же, что и ниже,

event E {


 dictionary<string,dictionary<dictionary<string,string>,dictionary<string,sequence<sequence<sequence<sequence<float > > > > > > > geometry;

dictionary<string,string> properties;
    }

Но во время выполнения он выдавал ошибку: ожидание карты, но получение списка.

Пожалуйста, помогите.

1 Ответ

2 голосов
/ 15 мая 2019

Вы рассматриваете геометрию как словарь строковых ключей и словарных значений.Это не так, поскольку первая запись представляет собой пару строка: строка.Вам лучше подойдет объявление типа события, например:

event Geometry {
    string type;
    sequence<sequence<sequence<sequence<float> > > > coordinates;
}

event E {
    Geometry geometry;
    dictionary<string,string> properties;
}
...