Android Java эквивалент PHP функции взрыва - PullRequest
0 голосов
/ 22 января 2020

Я скопировал фрагмент функции, которую я использую в php, чтобы взять массив и преобразовать его в предложение sql where с помощью функции implode. Я хотел бы иметь возможность повторить эту функцию в Android Java коде.

Другими словами, передайте функцию массиву json и сделайте так, чтобы она выполняла эквивалент функции implode, приведенной ниже, для создания предложения where в строке запроса. Имеет ли Java в Android эквивалент «взрыва» или кто-нибудь сможет помочь с элегантным решением для создания предложения where из массива json в Android Java? Массив json будет иметь вид {"var1": "val1", "var2": "val2"}

   // select from fact sighings - requires an array to do the where clause
    public function select_from_fact_sighting($whereArray) {


        $jsonArray = json_decode($whereArray, true);
        $elementCount  = count($jsonArray);        

        $where = array();

        foreach($jsonArray as $row) {
            foreach($row as $key => $val) {
                $qval = $this -> quote($val);
                $where[] = $key . " = " . $qval;
            }
        }

        if (!empty($where))
            $query = sprintf('SELECT * FROM fact_sightings WHERE %s', implode(' AND ', $where)');

1 Ответ

0 голосов
/ 22 января 2020

Kotlin вы конвертируете свои JSON объекты в список строк и передаете, как это, чтобы получить строковую форму json с добавленной строкой

fun main(){

    val arrayOrg = arrayOf("a","b","b","c","a","c","a")

    println(arrayOrg.joinToString(" "))
}

// печатает

abb c a c a

in Java Полагаю, это должно сработать.

public static void main(String args[]) 
{ 
    String gfg2 = String.join("  ", "select", "*", "from", "table", "where"); 

    System.out.println(gfg2); 
} 
...