2016-04-10 17 views
-4

Java android stüdyosunda JSON'dan veriyi String olarak yüklemek istiyorum. Benim JSON geçerli: beğendiniz olarakJSON Verilerini Android'e Geçirme JAVA Dize

{ 
    "server_response": [ 
     { 
      "name": "1", 
      "email": "[email protected]", 
      "mobile": "990-100010000" 
     }, 
     { 
      "name": "2", 
      "email": "Tanim Khan ", 
      "mobile": "[email protected] " 
     }, 
     { 
      "name": "3", 
      "email": "Rezaul Hasan ", 
      "mobile": "[email protected] " 
     } 
    ] 
} 

Ve Hedefim Dize listesi:

String email[] = { 


      " Mirpur-13, Kafrul , Govt.Unani Medical College & Hospital, Dhaka", 
      " Sher-E-Bangla Nagar , Shaheed Sohrawardi Medicel College Hospital, Dhaka", 
      " Shahbag Square , Birdem General Hospital, Dhaka", 
      " Shahbag circle , BSMMU, Dhaka", 
      " Shaymoli bus stand , Dhaka Child Hospital, Dhaka", 
      " Bokshi Bazar, 100 Ramna , Dhaka Medical College Hospital, Dhaka", 
      " Nayabazar , Dhaka City General Hospital, Dhaka", 
      " Sher-E-Bangla Nagar , National Heart Institute & Hospital, Dhaka", 
      " Sher-E-Bangla Nagar, National Mental Health Institute & Hospital, Dhaka", 
      " Shayamoli, Sher-E-Bangla Nagar , National Ophthalmological Institute & Hospital, Dhaka", 
      " Mahakhali , National Cancer Research Institute & Hospital, Dhaka", 
      " Sher-E-Bangla Nagar , National Kidney Institute & Hospital, Dhaka", 
      " Sher-E-Bangla Nagar , National Orthopedics Hospital, Dhaka", 
      " Mirpur , Kidney Foundation Bangladesh, Dhaka", 
      " Mahakhali Kacha Bazar , ICDDRB, Dhaka"}; 



    String mobile[] = { 

      "02-8012048", 
      "02-9130800", 
      "02-8616641", 
      "02-9661051", 
      "02-8116061", 
      "02-8626812", 
      "02-7390860", 
      "02-9122560", 
      "02-9118171", 
      "02-9118336", 
      "02-9880078", 
      "02-91365560", 
      "02-9144190", 
      "02-8055827", 
      "02-8806523",}; 

Şimdi ben bütün "e-posta" ürün [] diziye JSON veri ve ayarlamak istediğiniz adı "mobil" [] dizi. Lütfen veriyi bu diziye nasıl aktardığımı göster.

+1

Lütfen yardım istemeden önce sorunu çözmek için ne yapmaya çalıştığınızı gönderin. – nhouser9

cevap

0

örn Harita içine json (Veya herhangi java fasulye) serisini ve daha sonra e-posta ve cep telefonu numaraları için listelerini doldurmak için Gson kitaplığını kullanabilirsiniz. İşte bir [little tutorial].

bunu indirip projenize kavanoz ekledikten sonra, JSON kod çözme mekanizması ... Böyle bir şey olacağını

String st = "{\"server_response\":[{\"name\":\"1\",\"email\":\"[email protected]\",\"mobile\":\"990-100010000\"},{\"name\":\"2\",\"email\":\"Tanim Khan \",\"mobile\":\"[email protected] \"},{\"name\":\"3\",\"email\":\"Rezaul Hasan \",\"mobile\":\"[email protected] \"}]}"; 
JSONParser parser = new JSONParser(); 
try { 
    Object o = parser.parse(st); 
    JSONObject obj = (JSONObject) o; 
    System.out.println(obj); // {"server_response":[{"name":"1","mobile":"990-100010000","email":"[email protected]"},{"name":"2","mobile":"[email protected] ","email":"Tanim Khan "},{"name":"3","mobile":"[email protected] ","email":"Rezaul Hasan "}]} 

    JSONArray arr = (JSONArray) obj.get("server_response"); 

    List<String> email = new ArrayList<String>(); 
    List<String> mobile = new ArrayList<String>(); 

    for (Object each: arr) { 
     JSONObject a = (JSONObject) each; 
     email.add(a.get("email").toString().trim()); 
     mobile.add(a.get("mobile").toString().trim()); 
    } 

    System.out.println(email); // [[email protected], Tanim Khan, Rezaul Hasan] 
    System.out.println(mobile); // [990-100010000, [email protected], [email protected]] 

} catch (org.json.simple.parser.ParseException e) { 
    e.printStackTrace(); 
} 

Sen mobile liste telefon numaraları başka şeyler içerdiğini fark edebilirsiniz . Yani

{ 
    "server_response": [ 
     { 
      "name": "1", 
      "email": "[email protected]", <--- good 
      "mobile": "990-100010000"   <--- good 
     }, 
     { 
      "name": "2", 
      "email": "Tanim Khan ",   <--- not good 
      "mobile": "[email protected] "  <--- not good 
     }, 
     { 
      "name": "3", 
      "email": "Rezaul Hasan ",   <--- not good 
      "mobile": "[email protected] "  <--- not good 
     } 
    ] 
} 

Ben öncelikle JSON verilerini düzeltmek öneririm ... çünkü tür şuna benzer sağladığınız JSON veri olduğunu. "Rezaul Hasan " gerçekten bir e-posta kimliği değil ve "[email protected] " gerçekten bir cep telefonu numarası değil.

Sorunuz varsa lütfen bize bildirin! :)

+0

Dize st = ""; JSONParser ayrıştırıcı = new JSONParser(); Eğer json'u bir php url'den yüklemek istersem o zaman burada ne yapıyorum? Lütfen bana yardım edin :) – Istiyak

+0

@Istiyak Ne demek istediğimi veya bu php dosyasının nasıl çalıştığını tamamen açıklamıyorum. Sorununuzu en iyi şekilde ele almak için yeni bir soru yazmanızı öneririm. –

+0

Cevabınız da haklı. Güncelle Projem için bir Özel Liste Görünümü oluşturuyorum ve orada öğe listesi değeri olarak String değerini kullanıyorum ve şimdi json'u php olarak php olarak kodlamak ve json verilerini bu dize değerine kaydetmek istiyorum. Bir yandan web'den JSON ayrıştırması ile özel bir liste görüntüleme sistemi yapmak istiyorum. – Istiyak

0

Sen [here] den JSON Simple alabilirsiniz .:,

Gson gson = new Gson(); 
Map<String, Object> data = gson.fromJson("{\"server_response\": [{ \"name\": \"1\", \"email\": \"[email protected]\", \"mobile\": \"990-100010000\"}, { \"name\": \"2\", \"email\": \"Tanim Khan \", \"mobile\": \"[email protected] \"}, { \"name\": \"3\", \"email\": \"Rezaul Hasan \", \"mobile\": \"[email protected] \"}]}", Map.class); 
List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("server_response"); 
List<String> emails = new ArrayList<>(); 
List<String> numbers = new ArrayList<>(); 
for(Map<String, Object> element : list){ 
    emails.add(element.get("email").toString().trim()); 
    numbers.add(element.get("mobile").toString().trim()); 
} 
System.out.println(emails); 
System.out.println(numbers); 
+0

Harita data = gson.fromJson(); Burada json bir php url'den yüklemek istiyorum, o durumda ne yaptım ??? :) – Istiyak