0

添付のコードのように、Bluetooth経由でAndroidアプリでデータを受信するJavaコードがあります

Java コード

したがって、readMessage は = と等しくなります{\"Pin\":\"A4\",\"Value\":\"20\"},{\"Pin\":\"A5\",\"Value\":\"925\"},{\"Pin\":\"A0\",\"Value\":\"30\"}

\"Value\"受信したデータから文字列以降の値のみを取得したいので

誰でもそれを行う方法を提案できますか? ありがとう

4

2 に答える 2

1

JSON形式readMessageで解析できます

例:

String[] pinValueArr = readMessage.split(",")
for (String pinValue : pinValueArr) {
    try {
        JSONObject pinValueJSON = new JSONObject(pinValue);
        String pin = pinValueJSON.optString("pin", "");  // opt means if parse failed, return default value what is ""
        int pin = pinValueJSON.optInt("Value", 0);   // opt means if parse failed, return default value what is "0"
    } catch (JSONParsedException e) {
        // catch exception when parse to JSONObject failed
    }
}

それらを管理したい場合は、 を作成Listしてすべて追加することができます。

List<JSONObject> pinValueList = new ArrayList<JSONObject>();
for (String pinValue : pinValueArr) {
    JSONObject pinValueJSON = new JSONObject(pinValue);
    // ..
    pinValueList.add(pinValueJSON);
}
于 2020-06-15T01:12:08.447 に答える