Преобразование последовательных данных USB в используемые переменные

У меня есть установка, в которой устройство Android и Arduino передают данные через USB. У меня Arduino регулярно считывает данные с моего автомобиля и отправляет их на устройство Android, например так (любой из этих форматов является жизнеспособным):

XML:

<instance>
    <vin> A13GF12345NFH </vin>
    <speed> 78 </speed>
    <runtime> 1425 </runtime>
    <distance> 23 </distance>
</instance>

JSON:

{
    "vin" : "A13GF12345NFH",
    "speed" : "78",
    "runtime" : "1425",
    "distance" : "23"
}

Я получаю данные в виде массива байтов, а затем конвертирую их в строку. Учитывая, что мои строковые данные XML (или JSON) представляют собой переменную data типа string, как я могу получить переменные vin, speed, runtime и distance, как описано в сообщении? Я буду использовать любой формат данных, который проще всего.


person Benjamin Brownlee    schedule 26.02.2018    source источник


Ответы (1)


Вы можете использовать класс JSONObject, как описано здесь.

JSONObject jo = new JSONObject(dataString);
String vin = jo.getString("vin");
long runtime = jo.getLong("runtime");
person ilooner    schedule 26.02.2018