1

Проблема с интеграцией.

Тема: Проблема с интеграцией.

Доброго дня. У одного из наших партнеров проблема с интеграции. При попытке забрать координаты с объекта появляется ошибка  org.json.JSONException: Duplicate key "fuel_lvl".

Метод. Информацию берем по id машины

public static JSONObject getObjectInfo(String eid, long id) {
String searchURL = "?svc=core/search_item&params={\"id\":" + id + ",\"flags\":1025}&sid=" + eid;
try {
URL url = new URL(baseURL + searchURL);
System.out.println("------->"+url);
HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
urlCon.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(urlCon.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println("Object info: \n\n");
JSONObject json = new JSONObject(response.toString());
System.out.println(json.toString());
return json;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}

В чем может быть причина?

ООО "АвтоТехноКонтроль" РБ. Брест
Мы экономим Ваши деньги!
2

Проблема с интеграцией.

Re: Проблема с интеграцией.

support.atk, добрый день.

Перед тем как парсить json вызовом JSONObject json = new JSONObject(response.toString());
выведите полученный ответ в виде строки:
System.out.println(response.toString());

Похоже от прибора приходят сообщения, в которых дважды присутствует параметр "fuel_lvl", а этому json-парсеру не нравится повторение ключей. Как вариант делать предварительную обрработку строки, например как тут https://stackoverflow.com/questions/478 … jsonobject или разбираться, почему по данному прибору параметры приходят дважды.

Head of Wialon Local Department
Gurtam
3

Проблема с интеграцией.

Re: Проблема с интеграцией.

support.atk уточните, пожалуйста, тип (или типы) устройств, для которых появляется ошибка  "Duplicate key" и какие именно параметры (если вдруг появляется что нить кроме fuel_lvl)
Спасибо

Viktor Yarovenko
Business Analyst
Wialon
4

Проблема с интеграцией.

Re: Проблема с интеграцией.

yavi пишет:

support.atk уточните, пожалуйста, тип (или типы) устройств, для которых появляется ошибка  "Duplicate key" и какие именно параметры (если вдруг появляется что нить кроме fuel_lvl)
Спасибо

Вот одно из сообщений, дублей не нашел:
fuel_lvl=143, hdop=0.8, io_caused=7, can_coolant_temp=0, gsm_signal=13, can_eng_plcs=0, can_acc_pedal=0, power=25575, adc1=19, adc2=14, can_rpm=0, can_amb_air_temp=9454, odometer=81732934, io_4_77=0, can_eng_hours=4294967295, can_fuel_used=48455, can_distance=79539329, tco_distance=0, I/O=0/

тип оборудования:  Ruptela FM Tco4

ООО "АвтоТехноКонтроль" РБ. Брест
Мы экономим Ваши деньги!
5

Проблема с интеграцией.

(15/07/2020 17:35:02 отредактировано yavi)

Re: Проблема с интеграцией.

support.atk В интерфейсе вы ничего и не сможете увидеть, т.к. там 2 одинаковых параметра точно не может быть. А по API в теории можно наткнуться на проблему, которую не видно в интерфейсе.
В разборе данных Ruptela  проблем с дублированием параметров не обнаружили.
Напишите, пожалуйста, подробности объекта на hw@gurtam.com. Будем более детально разбираться, почему дублируется fuel_lvl
Спасибо

Viktor Yarovenko
Business Analyst
Wialon
6

Проблема с интеграцией.

Re: Проблема с интеграцией.

Добрый день. Столкнулся со следующей проблемой : загружаю отчет в 1С через
АРІ, записываю его в файл и потом обрабатываю. Использую
report/exec_report и get_result_subrows. Но на n-ой итерации цикла
(получаю данные по всем водителям) записывается файл с данными , которые

дублируются во все следующие файлы. Как можно решить эту проблему?