Gson进行json字符串和对象之间的转化
Gson可以实现对象与json字符串之间的转化,以下是在Android中的示例代码。
Gson主页:https://code.google.com/p/google-gson/
- public class GsonActivity extends Activity {
- Button saveButton;
- Button loadButton;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.gsonlayout);
- initControls();
- }
- protected void initControls(){
- saveButton = (Button) findViewById(R.id.btSave);
- loadButton = (Button) findViewById(R.id.btGsonLoad);
- saveButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- List<StudentInfo> studentInfos = new LinkedList<StudentInfo>() ;
- StudentInfo s1 = new StudentInfo();
- s1.setId(1);
- s1.setName("张三");
- s1.setAddress("武汉市");
- s1.setPhone("12345671");
- studentInfos.add(s1);
- StudentInfo s2 = new StudentInfo();
- s2.setId(2);
- s2.setName("李四");
- s2.setAddress("华工");
- s2.setPhone("12345672");
- studentInfos.add(s2);
- Gson gson = new Gson();
- String json = gson.toJson(studentInfos);
- try {
- FileOutputStream fs = openFileOutput("gsonconfig.xml", MODE_PRIVATE);
- fs.write(json.getBytes());
- fs.close();
- Toast.makeText(GsonActivity.this, json, Toast.LENGTH_SHORT).show();
- } catch (Exception e) {
- Toast.makeText(GsonActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
- e.printStackTrace();
- }
- }
- });
- loadButton.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- List<StudentInfo> studentInfos = new LinkedList<StudentInfo>();
- String json = "";
- try {
- FileInputStream fileInputStream = openFileInput("gsonconfig.xml");
- InputStreamReader inputStreamReader =new InputStreamReader(fileInputStream);
- BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
- json = bufferedReader.readLine();
- bufferedReader.close();
- Gson gson = new Gson();
- studentInfos = gson.fromJson(json, new TypeToken<List<StudentInfo>>() {
- }.getType());
- for (StudentInfo studentInfo : studentInfos) {
- Toast.makeText(GsonActivity.this, studentInfo.toString(), Toast.LENGTH_SHORT).show();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- }
更多例子可以参见http://blog.csdn.net/lk_blog/article/details/7685169
Gson进行json字符串和对象之间的转化的更多相关文章
- Google Gson实现JSON字符串和对象之间相互转换
User实体类 package com.test.json; /** * User 实体类 */ public class User { private String name; private St ...
- C# .net中json字符串和对象之间的转化方法
http://blog.csdn.net/xuexiaodong009/article/details/46998069 json作为作为一种最常用的数据,应用很广泛,在.net中如何把一个对象转化为 ...
- 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换
[源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...
- JSON字符串和对象之间的转换
JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 ...
- json字符串和对象的相互转化
json在代码中是经常用到的,在此总结一下json字符串和对象及数组之间的相互转化: 1.javascript函数方式: <1> JSON.stringify :把一个对象转换成json字 ...
- json、xml和java对象之间的转化
其实从面相对象的角度来理解这个问题,就会很清晰.java中的一切皆对象即把世间万物(Everything in the world)看做java对象,任何处理不了的问题都可以先转化成java对象在做处 ...
- Gson转换json数据为对象
可以通过Gson使用两种方法,将json字符串转换为对象,以下面该段报文做测试 { "id": 84041462, "lastName": "小华&q ...
- JSON 与JAVA对象之间的转换(转)
JSON与XML两者目前在数据交互方面都有很高的使用率,随着现在SOA的兴起,异构系统的整合地位相应提高,本篇文章主要介绍JSON与JAVA对象之间的相互转换. 一.对普通类型的JSON模式的转换 一 ...
- js在前端json字符串和对象互相转化
js在前端json字符串和对象互相转化 //对象转json串 注意:参数必须是对象,数组不起作用,对象格式{'0'=>'a'} JSON.stringify( arr ); //json字符串转 ...
随机推荐
- python3 lambda函数
A=lambda x:x+1 def A(x):return x+1 冒号左边→想要传递的参数冒号右边→想要得到的数(可能带表达式)
- tarjan强联通分量(模板)
#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #inc ...
- 转 update关联更新在sqlserver和oracle中的实现
sqlserver和oracle中实现update关联更新的语法不同,都可以通过inline view(内嵌视图)来实现,总的来说sqlserver更简单些. 测试例子如下: create table ...
- 在Win7下新建库并修改图标
win7中在库中添加桌面方法详解 1.在空白处,鼠标右键选择新建——库. 2.命名为桌面,然后选择桌面. 3.鼠标右键选择属性. 4.点击包括文件夹. 5.选择桌面,点击包括文件夹按钮. 6.点击确定 ...
- flash流媒体资料
http://www.docin.com/p-111227070.html Java mina和c++ ace做socket长连接 测试报告: http://www.iteye.com/problem ...
- java中使用MD5加密的算法
MD5,全名Message Digest Algorithm 5,中文名为消息摘要算法第五版,为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护.以下是JAVA语言中使用MD5加密的工具 ...
- 日志挖掘(logminer)
转. 如何使用logminer分析Oracle 联机日志 笔者在工作中经常遇到这样的情况:为了追踪数据的变化,需要知道某个表或者表中的某行数据是什么时候被修改的,以及修改前的内容. ...
- MyBatis 知识点
2010年,随着开发团队转投Google Code旗下,ibatis 3.x 正式更名为 Mybatis. orm工具的基本思想 无论是 hibernate.Mybatis,orm工具有一个共同点: ...
- NPOI 创建Excel 设置宽度 样式 颜色对比表
前两天用NPOI来操作Office软件,在使用的时候有点问题,也有收获,就做个笔记 记录下来,主要做的事数据的导出功能.一些公共的方法,做个笔记. 更多的详细内容可以到NPOI的官方教程去看 htt ...
- ASM配置管理
http://blog.chinaunix.net/uid-22646981-id-3060280.htmlhttp://blog.sina.com.cn/s/blog_6a5aa0300102uys ...