Android如何用Gson把資料轉換成List<Map<string,string>>

來源:互聯網
上載者:User
我現在有任意長度的json資料,用php的json_encode()產生,如下格式

[{"rowID":"1","Name":"tqtqwet","Comment":"qewrtqwe"},{"rowID":"2","Name":"waf","Comment":"agsadga"},{"rowID":"3","Name":"android","Comment":"fafdadsf"},{"rowID":"4","Name":"android222","Comment":"fasdfas"},{"rowID":"5","Name":"fadfa","Comment":"adgasd"}]

現在想用把它轉換成List>的格式,並用listView顯示出來。其中hashmap的第一個鍵對應“Name”,第二個鍵對應“Comment”,“rowID”無視掉。請問怎麼能最快捷地完成這種轉換?如果有辦法可以繞過也可以!謝謝

回複內容:

我現在有任意長度的json資料,用php的json_encode()產生,如下格式

[{"rowID":"1","Name":"tqtqwet","Comment":"qewrtqwe"},{"rowID":"2","Name":"waf","Comment":"agsadga"},{"rowID":"3","Name":"android","Comment":"fafdadsf"},{"rowID":"4","Name":"android222","Comment":"fasdfas"},{"rowID":"5","Name":"fadfa","Comment":"adgasd"}]

現在想用把它轉換成List>的格式,並用listView顯示出來。其中hashmap的第一個鍵對應“Name”,第二個鍵對應“Comment”,“rowID”無視掉。請問怎麼能最快捷地完成這種轉換?如果有辦法可以繞過也可以!謝謝

這個json資料格式很簡單,不用你想象的那麼複雜就能解析;
你需要一個JavaBean對象:
CustomClass.java:

    public class CustomClass {     private String Name;     private String Comment;    public String getName() {      return Name;    }    public void setName(String name) {      Name = name;    }    public String getComment() {      return Comment;    }    public void setComment(String comment) {      Comment = comment;    }    }

MainActivity.java:

    public class MainActivity extends Activity {    //你的json資料    String jsonString="     [{\"rowID\":\"1\",\"Name\":\"tqtqwet\",\"Comment\":\"qewrtqwe\"},{\"rowID\":\"2\",\"Name\":\"waf\",\"Comment\":\"agsadga\"},{\"rowID\":\"3\",\"Name\":\"android\",\"Comment\":\"fafdadsf\"},{\"rowID\":\"4\",\"Name\":\"android222\",\"Comment\":\"fasdfas\"},{\"rowID\":\"5\",\"Name\":\"fadfa\",\"Comment\":\"adgasd\"}]";        @Override    protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Type listType = new TypeToken>(){}.getType();    ArrayList customList = new Gson().fromJson(jsonString, listType);    }    }

customList就是你想要的那個帶有json資料的集合,你可以通過customList.get(index).getName() or getXXX()得到你想要的值

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.