sql >> データベース >  >> RDS >> Mysql

ArrayListを別のアクティビティに渡してdoubleに変換する方法

    MySQLから取得するデータ 適切なJSONにありません 形式であり、doubleの配列に変換することはできません。 JSONArray JSONObjectのコレクションです s。現在、単一のArrayのように見えるものを取得しています [9.32、5.22、10.201 ...]

    のようにフォーマットされています

    必要なのはJSONArrayです JSONObjectsを含む

    points:[{1:9.32},{2:5.22}]
    

    次に、JSONObjectsを抽出できます。 JSONArrayから 数値に直接アクセスするだけです

    JSONArray points = new JSONArray(pointsString);
    JSONObject firstPoint = points.getJSONObject(1);
    double value = firstPoint.getDouble("1");
    

    これをループに簡単に変換して、JSONArray全体を実行できます。 値の

    更新-PHPの問題

    文字列が適切なJSONに戻ってこない クエリを単一の配列にすると、結果全体がダンプされるため、フォーマットします。次のようなものを試してください:

    $outerObject = array();
    $result = $query->fetchAll(PDO::FETCH_ASSOC);
    $numResult = count($result);
    for($i = 0; $i < $numResult; $i++){
         $indexDouble = result[$i];
         $innerObject = array();
         $innerObject['double'] = $indexDouble;
         $outerObject[] = $innerObject;
    }
    $json = array();
    $json['metoxes'] = $outerObject;
    echo json_encode($json);
    

    最初にテストしますが、JSONArrayとなるものを作成する必要があるという考えです。 次に、JSONObjectになる小さな内部配列を追加します。 。 json_encodeを実行すると、オブジェクト{double:some_number}を含む配列[]が作成されます。抽出するには、JSONArrayをループするだけです。 キー値doubleに関連付けられているすべてのdoubleを取得します。次のように機能します:

    JSONArray fullArray = JSONArray(stringInput);
    int length = fullArray.length;
    for(int i = 0; i < length; i++){
    
        double target = fullArray.getJSONObject(i).getDouble("double");
        //do something with the double
    }
    



    1. 2018年のレビュー:見逃した可能性のある7つのMariaDBマイルストーン

    2. SQLServer2017のデータ型のリスト

    3. SQL-JOINを含むWHERE句

    4. MySQLにJOIN/UNIONを使用せずにWHEREIN句から重複を返すように強制しますか?