Каков наилучший способ анализа данных с использованием одного и того же API-интерфейса между веб-службой JEE Restful и Android?

Вы можете использовать метод замены pandas; также вы можете захотеть сохранить разделитель тысяч ',' и разделитель десятичных знаков '.'

import pandas as pd

df = pd.DataFrame(['$40,000.32*','$40000 conditions attached'], columns=['pricing'])
df['pricing'].replace(to_replace="\$([0-9,\.]+).*", value=r"\1", regex=True, inplace=True)
print(df)
pricing
0  40,000.32
1      40000
1
задан Cédric B. 20 February 2019 в 16:11
поделиться

1 ответ

Давайте назовем ваш объект сущностей entities-module. Этот проект содержит POJO классов с аннотациями JAXB, такими как: @XmlElement, @XmlType и т. Д. Поскольку, как вы написали, « JAXB« устарел »на Android », вам необходимо выберите между: прочитайте JAXB аннотации другими инструментами или создайте новую настроенную POJO структуру.

Считайте аннотации JAXB другими инструментами. Библиотека

Jackson хорошо поддерживает аннотации JAXB. Все, что вам нужно сделать, это использовать модуль jackson-module-jaxb-annotations . Его легко зарегистрировать, и если вы уже используете Jackson для сериализации / десериализации JSON, это очевидный выбор. Как это сделать, вы можете найти ответы на этот вопрос в SO: Использование JAXB с Google Android .
Плюсы:

  • Вам не нужно создавать новую схему POJO.
  • В случае изменений в Restful API вы используете следующую версию проекта entities-module.

Минусы:

  • Проблемы с включением JAXB на Android.
  • Проблемы производительности, связанные с использованием тяжелых уровней модулей JAXB и Jackson.

Новый модуль

Второй вариант - создать новый модуль с POJO с и использовать более быструю и меньшую библиотеку, такую ​​как SimpleXML .
Плюсы:

  • Лучшая производительность
  • Нет проблем со сборкой приложения с устаревшими JAXB классами.
  • Вы можете оптимизировать структуру: игнорировать неиспользуемые поля, выбирать лучшие типы и т. Д.

Минусы:

  • Вам необходимо создать новый модуль с новой структурой классов.
  • Изучение и поддержка новой библиотеки
  • В случае изменений в API вам необходимо продублировать изменения в нескольких модулях.

Вам нужно взглянуть на вышеприведенный список pros and cons и решить, что лучше для вас.

Я также хотел бы добавить еще две опции:

  1. Заменить JAXB аннотации на Jackson аннотации. Jackson имеет действительно хорошую поддержку XML, кроме отличной для JSON. Это позволит вам легко поддерживать форматы JSON и XML в вашем API. Также вы можете использовать библиотеку Jackson в Android.
  2. Создать новое JSON API для Android приложения. В большинстве случаев потоки UI в приложении Android отличаются от приложений Web App, и, возможно, вы все равно придете к этой идее.
0
ответ дан Michał Ziober 20 February 2019 в 16:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: