2016-06-09 16 views
0

Ich habe eine Zeichenfolge, die die folgenden JSON-DatenKonvertieren von String mit Json zu gSonObject

[{"date":"11/8/2014","auther":"nirav kalola","description":"json object parsing using gson library is easy","post_name":"json object parsing"},{"date":"12/8/2014","auther":"nirav kalola","description":"json array parsing using gson library","post_name":"json array parsing"},{"date":"17/8/2014","auther":"nirav kalola","description":"store json file in assets folder and get data when required","post_name":"json parsing from assets folder"}] 

ich es Gson konvertieren möchten enthält

Ich habe versucht, Code folgende

protected void onPostExecute(String result) { 
     Toast.makeText(getBaseContext(), "Received!", Toast.LENGTH_LONG).show(); 
     //etResponse.setText(result); 
     try { 
      Type listType = new TypeToken<ArrayList<BeanPost>>() { 
      }.getType(); 


      ArrayList<BeanPost> beanPostArrayList = new GsonBuilder().create().fromJson(result, listType); 
      // Above Line gives error 
      // JsonDeserializer could not Deserialize the object 
      StringBuffer postList = new StringBuffer(); 
      for (BeanPost post : beanPostArrayList) { 
       postList.append("\n title: " + post.getPost_name() + 
         "\n auther: " + post.getAuther() + 
         "\n date: " + post.getDate() + 
         "\n description: " + post.getDescription() + "\n\n"); 
      } 



     } 
      catch(Exception e2) 
      { 
        String msg=e2.getLocalizedMessage(); 
       e2.printStackTrace(); 

      } 

    } 

BeanPost. Java Klasse ist wie folgt

package com.jobwork.mujahidniaz.ws2; 

/** 
* Created by Mujahid Niaz on 06/09/2016. 
*/ 
import com.google.gson.annotations.SerializedName; 
public class BeanPost { 

@SerializedName("post_name") 
private String post_name; 
@SerializedName("auther") 
private String auther; 
@SerializedName("date") 
private String date; 
@SerializedName("description") 
private String description; 

public BeanPost(String post_name, String auther, String date, String description) { 
    this.post_name = post_name; 
    this.auther = auther; 
    this.date = date; 
    this.description = description; 
} 

public String getPost_name() { 
    return post_name; 
} 

public void setPost_name(String post_name) { 
    this.post_name = post_name; 
} 

public String getAuther() { 
    return auther; 
} 

public void setAuther(String auther) { 
    this.auther = auther; 
} 

public String getDate() { 
    return date; 
} 

public void setDate(String date) { 
    this.date = date; 
} 

public String getDescription() { 
    return description; 
} 

public void setDescription(String description) { 
    this.description = description; 
} 
} 

Ich habe viele Suche auf Google versucht, aber konnte die Antwort nicht finden, bitte helfen Sie mir damit.

+0

Was passiert? Erhalten Sie einen Fehler? Ist das Format falsch? Ist es traurig, dass es kein gDad gibt? – zapl

+0

implementiert Serializable Ihre BeanPost-Klasse –

+0

@RakshitNawani Warum? –

Antwort

0

(Ungeprüfte Code)

zuerst müssen Sie Ihren leeren öffentlichen Konstruktor von Ihrem BeanPost.java erstellen, da Sie benutzerdefinierten Konstruktor haben.

public BeanPost(){} 

Gson gson = new Gson; 
List<BeanPost> myBPost = gson.fromJson(result, List<BeanPost.class>); //i assume that result is your json string 

jetzt müssen Sie mit Ihrem für jeden, um den Wert zu erhalten. Hoffe es hilft

Verwandte Themen