json数据解析
来源:互联网 发布:网络老虎机赌博网站 编辑:程序博客网 时间:2024/05/29 18:10
下面有个例子,很清晰的解释了这种工作方式:
先看看两个我自己封装的类:
HttpUtils.java:
public class HttpUtils { //从服务器端下载到Json数据,也就是个字符串
public static String getData(String url) throws Exception {
StringBuilder sb = new StringBuilder();
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
if (httpEntity != null) {
InputStream instream = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(
instream));
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
return sb.toString();
}
return null;
}
JsonUtils.java:
public class JsonUtils {
public static List<Student> parseStudentFromJson(String data) {
Type listType = new TypeToken<LinkedList<Student>>() {
}.getType();
Gson gson = new Gson();
LinkedList<Student> list = gson.fromJson(data, listType);
return list;
}
}
里面的Student是一个JavaBean对象:
public class Student {
private String name;
private int age;
private String id;
public Student() {
super();
}
public Student(String name, int age, String id) {
super();
this.name = name;
this.age = age;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
再看看我们要解析网络数据的Activity:
public class MainActivity extends Activity {
private TextView textView;
private List<Student> list;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) findViewById(R.id.textView);
String data = null;
try {
data = HttpUtils
.getData("http://10.16.12.165:8080/JsonTest/JsonTestServlet");
} catch (Exception e) {
e.printStackTrace();
}
String result = "";
list = JsonUtils.parseStudentFromJson(data);
for (Student s : list) {
result += "name: " + s.getName() + " " + "age: " + s.getAge()
+ " " + "id: " + s.getId() + "\n";
}
textView.setText(result);
}
}
这样就可以获取网络数据并加以解析利用了,运行结果如下:
另外,还有一篇不错的文章:http://www.2cto.com/kf/201110/109534.html
- Newtonsoft.Json解析json数据
- 使用Json解析Json数据
- JavaScript 解析 JSON 数据
- JavaScript 解析 JSON 数据
- JAVA解析json数据
- jquery解析json数据
- jquery解析json数据
- android---Json数据解析
- Android Json 数据解析
- jquery解析json数据
- Gson解析Json数据
- json 的数据解析
- Android解析json数据
- Java解析JSON数据
- Jquery解析json数据
- eval 解析 json 数据
- 解析JSON数据
- JSON 数据解析
- <tcp/ip详解卷一>阅读笔记(3)——IP层的分用(UDP和IGMP)
- <tcp/ip详解卷一>阅读笔记(4)——TCP
- windows7配置 Nginx+php+mysql
- _CrtDumpMemoryLeaks报告程序中的内存泄露问题(简单示例代码)
- 快速排序-C语言版
- json数据解析
- JDBC 开发
- 和菜鸟一起学linux总线驱动之初识i2c驱动数据传输流程
- 检测单链表是否有环新解
- oracle中的函数使用
- spymemcached-sample
- linux 正则表达式 与 shell script
- ArrayList的赋值
- 沙盒和束