2016-06-09 3 views
0

У меня есть строка, которая содержит следующие данные JSonПреобразование строки, содержащей JSon к 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"}] 

я хочу, чтобы преобразовать его в gSon

я попытался следующий код

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 Класс выглядит следующим образом

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; 
} 
} 

Я пробовал много поиска в google, но не смог найти ответ, пожалуйста, помогите мне с этим.

+0

Что происходит? Вы получили сообщение об ошибке? Неверный формат? Печально, что нет gDad? – zapl

+0

реализует Serializable ваш класс BeanPost –

+0

@RakshitNawani Почему? –

ответ

0

(Непроверенный код)

сначала вы должны создать пустой открытый конструктор с вашей BeanPost.java, так как у вас есть пользовательский конструктор.

public BeanPost(){} 

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

Теперь у вас есть с собой для каждого, чтобы получить значение. Надеюсь, это поможет

 Смежные вопросы

  • Нет связанных вопросов^_^