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. jenkins构建配置

    # Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作 # 每5分钟检查一次源码变化 # Build periodically ...

  2. 《DSP using MATLAB》Problem 4.26

    Y(z)部分分式展开, 零状态响应和零输入响应的部分分式展开,

  3. leetcode:Maximum Depth of Binary Tree【Python版】

    # Definition for a binary tree node # class TreeNode: # def __init__(self, x): # self.val = x # self ...

  4. x86函数调用约定

    以下摘自<IDA Pro>,貌似有一些细节之处没有交代清楚呢,需要进一步思考.实践. 了解栈帧的基本概念后,接下来详细介绍它们的结构.下面的例子涉及x86体系结构和与常见的x86编译器(如 ...

  5. 注册表禁用和启用USB端口

    USB端口禁用把下面代码另存为文件:USB_Disable.batcSCript \\AppServices\netlogon\USB_Disable.vbs--------------------- ...

  6. 【selenium】XPATH语法(一)

    XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 我们将在下面的例子中使用这个 XML 文档. <?xml v ...

  7. 转换sql文件的create table语句为drop table语句

    package com.csii.pweb.query.action; import java.io.BufferedReader; import java.io.FileNotFoundExcept ...

  8. linux 信号处理 六(全)

    一.信号及信号来源 信号本质 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实 ...

  9. php安装ZendGuardLoader扩展问题

     1,安装ZendGuardLoader:wget http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-linux- ...

  10. maven学习(6)-Maven依赖范围

    一.maven依赖范围: classpath 分为三种:编译classpath , 测试classpath , 运行classpath Scope 选项如下: Compile:编译依赖范围.默认就是c ...