Парсинг строки Java

497
28 февраля 2017, 15:45

Пример строки:

{"bubma_vomba":"23782fhf3f3n893hg548745gn45g87h445,"lubma":0,"ider":275388012}

Нужно сделать так чтобы в новые переменные сохранить значения следующим образом

bubma_vomba = 23782fhf3f3n893hg548745gn45g87h445;
ider = 275388012;

вторая переменная lubma не нужна.

Как это осуществить?

Через две регулярки? Или тримом можно как-то обрезать?

Answer 1

Если это JSON строка, то в примере строки не хватает кавычек. В примере так:

{"bubma_vomba":"23782fhf3f3n893hg548745gn45g87h445,"lubma":0,"ider":275388012}

должно быть так:

{"bubma_vomba":"23782fhf3f3n893hg548745gn45g87h445","lubma":0,"ider":275388012}

Вот еще один пример для парсинга JSON:

import org.json.JSONObject;
public class Main {
private static String bubmaVomba;
private static long ider;
public static void main(String[] args) {
    JSONObject obj = new JSONObject("{\"bubma_vomba\":\"23782fhf3f3n893hg548745gn45g87h445\",\"lubma\":0,\"ider\":275388012}");
    bubmaVomba = obj.getString("bubma_vomba");
    ider = obj.getInt("ider");
    System.out.println("bubmaVomba = " + bubmaVomba);
    System.out.println("ider = " +  ider);
}
}

Соответствующую библиотеку для парсинга можно скачать от сюда: http://mvnrepository.com/artifact/org.json/json

Answer 2

Поскольку это похоже на JSON, я рекомендую использовать библиотеку для парсинга JSON, например Gson:

@Test
public void ttt(){
    Gson gson = new GsonBuilder()
            .setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
            .create();
    String jsonString = "{\"bubma_vomba\":\"23782fhf3f3n893hg548745gn45g87h445\",\"lubma\":0,\"ider\":275388012}";
    BumbaVombaIder bvi = gson.fromJson(jsonString, BumbaVombaIder.class);
    System.out.print(bvi);
}
class BumbaVombaIder {
    private String bubmaVomba;
    private long ider;
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(bubmaVomba).append(System.lineSeparator());
        sb.append(ider).append(System.lineSeparator());
        return sb.toString();
    }
}

23782fhf3f3n893hg548745gn45g87h445

275388012

READ ALSO
почему панель не выводится на экран

почему панель не выводится на экран

field должен быть добавлен в объект класса JWindow или JFrame, которому необходимо задать границы и включить видимостьСама по себе JPanel отрисовываться...

351
Java: блок внутри функции, его польза

Java: блок внутри функции, его польза

Доброго времени сутокСобственно, вопрос в том, какой практический смысл конструкции, когда выделяется блок внутри метода

214
Как дать Label-у имя, используя код?

Как дать Label-у имя, используя код?

Можно ли в java переименовать Label, прописав это в коде самостоятельно?

252
Не удаляются контролы, созданные в цикле

Не удаляются контролы, созданные в цикле

Путем цикла я создала меткиМне нужно, чтобы, когда я кликну на них мышкой, они исчезали

202