2016-11-17 4 views
0

Я получил свой код PHP:петля через андроида массив HashMap

<?php 

require('conn.php'); 

$json = array(); 
$newquery = "SELECT * FROM absent"; 
$newresult = mysqli_query($conn, $newquery); 

$jsonData = array(); 
while ($array = mysqli_fetch_array($newresult)) { 
array_push($jsonData,array(
"username"=>$array['username'], 
"date"=>$array['date'] 
    )); 
} 
echo json_encode(array("result"=>$jsonData), true); 


mysqli_close($conn); 

?> 

и он вернулся:

{ "результат": [{ "имя пользователя": "verarmond", "Дата": "2016-11-17"}, {"username": "henk", "date": "2016-11-15"}]}

Как я могу получить только имена пользователей и только даты в android ??

Спасибо и уважение.

+0

В чем проблема? Используйте 'iOS' и' Android' в качестве ключа, чтобы получить 100,101 из HashMap. или искать что-то еще? –

+0

'alist' - это что? Печатать свои значения где? Почему вы разбираете JSON и ничего не делаете с ним? –

+0

проверить мой ответ – SaravInfern

ответ

0

Чтобы получить все записи из карты:

ArrayList<String> values = new ArrayList<>(); 
for ( 
     Map.Entry<String, String> entry : map.entrySet()) { 
     String key = entry.getKey(); 
     String Value = entry.getValue(); 
     values.add(Value); //this will add all the values in the hashmap into `values` arraylist 
} 
0

HashMap представляет собой структуру данных на основе пар (ключ, значение). Итак, когда вы делаете это:

map.put("iOS", "100"); 
map.put("Android", "101"); 

Ставишь значение «100» в ключе «IOS», а значение «101» в ключе «Android». Если вы хотите получить доступ к этой ценности, вы просто использовать объект «карты» и получить значение по ключу, например:

String val1 = map.get("iOS"); //this returns "100" 
String val2 = map.get("Android"); // this returns "101" 
0

Это очень просто, вы можете сделать это путем перевода вашего результата JSON в объект JSON с:

JSONObject jsonResult = new JSONObject(jsonString); 

Затем возьмите ваш массив JSON с именем result:

JSONArray jsonResultArray = new JSONArray(jsonResult.getJSONArray("result")); 

Теперь вы можете перебирать через JSON массив, чтобы получить необходимую Eleme NTS:

for(JSONObject jsonObject:jsonResultArray) { 
    Log.d("TAG", "User: " + jsonObject.getString("username")); 
    Log.d("TAG", "Date: " + jsonObject.getString("date")); 
} 

Вы должны знать, что каждый { означает JSONObject и [ означает JSONArray, остроумие, что вы должны иметь достаточно, чтобы пойти.

Я написал код на лету и не могу его проверить сейчас, возможно, есть опечатка или ошибка.