java 解析json格式数据(转)

2012-07-30 16:43:54|  分类: java |  标签:java  json  |举报|字号 订阅

有时候我们可能会用到json格式的数据进行数据的传输,那么我们怎么把接收到的数据解析出来呢? 
  下面有两种方法: 
1、通过谷歌的Gson来进行解析: 
json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};

两个VO类:

Java代码  

  1. public class SurveyVO {
  2. private String surveyId;
  3. private String surveyName;
  4. private String message;
  5. public String getMessage() {
  6. return message;
  7. }
  8. public void setMessage(String message) {
  9. this.message = message;
  10. }
  11. public String getSurveyId() {
  12. return surveyId;
  13. }
  14. public void setSurveyId(String surveyId) {
  15. this.surveyId = surveyId;
  16. }
  17. public String getSurveyName() {
  18. return surveyName;
  19. }
  20. public void setSurveyName(String surveyName) {
  21. this.surveyName = surveyName;
  22. }
  23. }
  24. public class SurveyListVO {
  25. private String message;
  26. private List<SurveyVO> result;
  27. public String getMessage() {
  28. return message;
  29. }
  30. public void setMessage(String message) {
  31. this.message = message;
  32. }
  33. public List<SurveyVO> getResult() {
  34. return result;
  35. }
  36. public void setResult(List<SurveyVO> result) {
  37. this.result = result;
  38. }
  39. }

json格式转换成object类型:

Java代码  

  1. public class fromGson() {
  2. sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
  3. Gson gson = new Gson();
  4. SurveyListVO surveyListVO = gson.fromJson(sTotalString,
  5. SurveyListVO.class);
  6. for (int i = 0; i < surveyListVO.getResult().size(); i++) {
  7. System.out.print(surveyListVO.getResult().get(i)
  8. .getSurveyId());  print: 1////2
  9. System.out.print(surveyListVO.getResult().get(i)
  10. .getSurveyName());   print: B///C
  11. System.out.print(surveyListVO.getMessage());   print: success
  12. }
  13. }

2、通过json-org.jar包进行解析:

json数据:sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};

一个VO类:

Java代码  

  1. public class SurveyVO {
  2. private String surveyId;
  3. private String surveyName;
  4. public String getSurveyId() {
  5. return surveyId;
  6. }
  7. public void setSurveyId(String surveyId) {
  8. this.surveyId = surveyId;
  9. }
  10. public String getSurveyName() {
  11. return surveyName;
  12. }
  13. public void setSurveyName(String surveyName) {
  14. this.surveyName = surveyName;
  15. }
  16. }

json格式转换成object类型:

Java代码  

  1. public class fromJson() {
  2. sTotalString = {"message":"success","result":[{"surveyid":"1","surveyname":"B"}{surveyid":"2","surveyname":"C"}]};
  3. JSONObject json;
  4. try {
  5. json = new JSONObject(sTotalString);
  6. JSONArray results = json.getJSONArray("result");
  7. for (int i = 0; i < results.length(); i++) {
  8. SurveyVO surveyVO = new SurveyVO();
  9. JSONObject result = results.getJSONObject(i);
  10. System.out.println(result.getString("surveyId")+"  "+result.getString("surveyName"));
  11. surveyVO.setSurveyId(result.getString("surveyId"));
  12. surveyVO.setSurveyName(result.getString("surveyName"));
  13. surveyVOList.add(surveyVO);
  14. }
  15. } catch (JSONException e) {
  16. e.printStackTrace();
  17. }
  18. }
时间: 2024-08-07 09:09:13

java 解析json格式数据(转)的相关文章

解析JSON格式数据

 别想一下造出大海,必须先由小河川开始. 本讲内容:解析JSON格式数据 1)比起XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性较差,看起来不如XML直观. 2)解析JSON格式的数据有多种方式,常用的两种是:使用官方提供的JSONObject和谷歌的开源库GSON. 示例一:解析服务器返回的数据 一.JSONObject解析方式 步骤: 1.在服务器中定义一个JSONArray,并将服务器返回的数据传入到JSONArray对象中 2.循环

Android上解析Json格式数据

package com.practice.json; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class JsonDemo extends Activity { /*http://www.hui

JAVA操作JSON格式数据

由于近些日子公司在弄微信项目,而微信官方API所提供的接口当中,有些需要以POST方式进行请求,且数据传输格式要求为JSON格式数据,之前没怎么研究过,而且传递的数据格式相对也比较简单,所以直接都是采用的字符串拼接的方式进行组装的,之后再用String.format格式化一下就好了. //需要提交的json数据 String jsonData = "{\"openid\":\"%s\",\"to_groupid\":%d}";

PHP、Java输出json格式数据

  PHP 输出json. $result = mysql_query($sql); //查询结果 $users=array(); $i=0; while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ $users[$i]=$row; $i++; } echo json_encode(array("result"=>"success",'data'=>$users));   防止输出json数据乱码,把数据转

jquery解析json格式数据的方法(对象、字符串)

相关函数 函数 描述 JSON.parse() 用于将一个 JSON 字符串转换为 JavaScript 对象. JSON.stringify() 用于将 JavaScript 值转换为 JSON 字符串. //data为字符串类型 则要将字符串类型转换成json数据类型 var jsondatas=eval("("+data+")"); 本文实例讲述了jquery解析json格式数据的方法.分享给大家供大家参考,具体如下: json数据是我们常用的一种小型的数据实

用GSON解析Json格式数据

GSON是谷歌提供的开源库,用来解析Json格式的数据,非常好用.如果要使用GSON的话,则要先下载gson-2.2.4.jar这个文件,如果是在Android项目中使用,则在Android项目的libs目录下添加这个文件即可:如果是在Java项目中,则把gson-2.2.4.jar先添加到当前项目的任意一个包中,然后右键点击这个jar包 -> 构建路径 -> 添加至构建路径.这样准备工作就做好了. (一)单条无嵌套Json数据的解析 比如有如下Json数据:{"name"

android学习二十三(解析json格式数据)

前面我们已经掌握了xml格式数据的解析方式,那么接下来我们学习下如何解析json格式的数据.比起xml,json的主要优势在于它体积更小,在网络上传输的时候可以更省流量.但缺点在于,它的语义性差,看起来不如xml直观. 开始之前,先在自己的电脑apache-tomcat-6.0.39\webapps\ROOT路径目录下新建一个get_data.json的文件,然后编辑这个文件,并加入如下json格式的内容: [{"id":"5","version"

Jquery解析Json格式数据

今天稍微学习了一下Json,JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等). 这些特性使JSON成为理想的数据交换语言. JSON建构于两种结构: “名称/值”对的集合(A collection of name/value pairs)

C# 解析JSON格式数据

JSON简介 JSON(全称为JavaScript ObjectNotation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集.JSON采用完全独立于语言的文本格式,可以很容易在各种网络.平台和程序之间传输.JSON的语法很简单,易于人阅读和编写,同时也易于机器解析和生成. JSON与XML的比较 ◆可读性 JSON和XML的可读性相比较而言,由于XML提供辅助的标签,更加适合人阅读和理解. ◆文件大小与传输 XML允许使用方便的标签,所以文件尺寸是要比JSON大