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字符串和对象之间的转化的更多相关文章

  1. Google Gson实现JSON字符串和对象之间相互转换

    User实体类 package com.test.json; /** * User 实体类 */ public class User { private String name; private St ...

  2. C# .net中json字符串和对象之间的转化方法

    http://blog.csdn.net/xuexiaodong009/article/details/46998069 json作为作为一种最常用的数据,应用很广泛,在.net中如何把一个对象转化为 ...

  3. 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换

    [源码下载] 速战速决 (6) - PHP: 获取 http 请求数据, 获取 get 数据 和 post 数据, json 字符串与对象之间的相互转换 作者:webabcd 介绍速战速决 之 PHP ...

  4. JSON字符串和对象之间的转换

    JSON(JavaScript Object Notation) 是JavaScript编程语言的一个子集.正因JSON是JavaScript的一个子集,所以它可清晰的运用于此语言中. eval函数 ...

  5. json字符串和对象的相互转化

    json在代码中是经常用到的,在此总结一下json字符串和对象及数组之间的相互转化: 1.javascript函数方式: <1> JSON.stringify :把一个对象转换成json字 ...

  6. json、xml和java对象之间的转化

    其实从面相对象的角度来理解这个问题,就会很清晰.java中的一切皆对象即把世间万物(Everything in the world)看做java对象,任何处理不了的问题都可以先转化成java对象在做处 ...

  7. Gson转换json数据为对象

    可以通过Gson使用两种方法,将json字符串转换为对象,以下面该段报文做测试 { "id": 84041462, "lastName": "小华&q ...

  8. JSON 与JAVA对象之间的转换(转)

    JSON与XML两者目前在数据交互方面都有很高的使用率,随着现在SOA的兴起,异构系统的整合地位相应提高,本篇文章主要介绍JSON与JAVA对象之间的相互转换. 一.对普通类型的JSON模式的转换 一 ...

  9. js在前端json字符串和对象互相转化

    js在前端json字符串和对象互相转化 //对象转json串 注意:参数必须是对象,数组不起作用,对象格式{'0'=>'a'} JSON.stringify( arr ); //json字符串转 ...

随机推荐

  1. springboot项目搭建

    https://blog.csdn.net/u012702547/article/details/54319508

  2. Where is Silverlight now?

    Some time ago, I wrote an article about the comparison between HTML5 and Silverlight. That article w ...

  3. 第2季:从官方例程深度学习海思SDK及API

    2.1.官方mppsample的总体分析2.1.sample的整体架构(1)sample其实是很多个例程,所以有很多个main(2)每一个例程面向一个典型应用,common是通用性主体函数,我们只分析 ...

  4. ORA-25205: the QUEUE SYS.KUPC$S_1_20180123193821 does not exist

    [oracle@hbjfdba:/oratmp]#expdp \'XXX as sysdba\' DIRECTORY=TMP_DUMP_DIR DUMPFILE=NEW_LOCAL_HB_DMN_%U ...

  5. <script>标签里的defer和async属性 区别(待补充)

    defer与async的区别(表格显示): table th:first-of-type { width: 150px; } table th:nth-of-type(2) { } 区别 defer ...

  6. git 知识点

    git 删除远程已经推送过的文件或者文件夹 git rm -r --cached [文件或文件夹] git status git add . git commit -m '删除远程仓库文件,本地仓库和 ...

  7. linux非root用户执行开机启动程序

    问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/ ...

  8. 理解REST和SOA

    REST -- REpresentational State Transfer 直接翻译:表现层状态转移. 精辟理解:URL定位资源,用HTTP动词(GET,POST,DELETE,DETC)描述操作 ...

  9. ES(4): ES Cluster Security Settings

    目录: ES安全事件回顾 ES集群安全建议 安全访问配置 license更新 ES安全事件回顾 下面是白帽汇监测到针对全球使用广泛的全文索引引擎Elasticsearch的勒索事件: 2017年1月1 ...

  10. MySQL性能指标及计算方法(go)

    绝大多数MySQL性能指标可以通过以下两种方式获取: (1)mysqladmin 使用mysqladmin extended-status命令获得的MySQL的性能指标,默认为累计值.如果想了解当前状 ...