导读: json数据解析(共3篇)JSON的List数据封装解析方案对象封装成为List和JSON解析成封装有对象的List1、封装方法类(将JSONArray放入JSONObject中发给客户端) package com mlp tools;import java util ArrayList;import org json JS...
欢迎来到中国招生考试网http://www.chinazhaokao.com/成考报名栏目,本文为大家带来《json数据解析》,希望能帮助到你。
JSON的List数据封装解析方案
json数据解析(一)
对象封装成为List和JSON解析成封装有对象的List
1、封装方法类(将JSONArray放入JSONObject中发给客户端) package com.mlp.tools;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.mlp.usebean.Messages;
import com.mlp.usebean.Resources;
import com.mlp.usebean.Types;
public class ListToJSONArray {
public static JSONArray setListToJR(ArrayList<Resources> list){ JSONObject json=null;
JSONArray ja=new JSONArray();
for(int i=0;i<list.size();i++){
json=new JSONObject();
try {
json.put("id", list.get(i).getRes_id()); json.put("name", list.get(i).getRes_name()); json.put("form", list.get(i).getRes_form()); json.put("update", list.get(i).getRes_update()); json.put("upuser", list.get(i).getRes_upuser()); json.put("patch", list.get(i).getRes_patch()); json.put("pass", list.get(i).getRes_pass());
json.put("downsum", list.get(i).getRes_downsum()); json.put("reco", list.get(i).isRes_reco()); json.put("remark", list.get(i).getRes_remark()); ja.put(i, json);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return ja;
}
public static JSONArray setListToJT(ArrayList<Types> list){ JSONObject json=null;
} JSONArray ja=new JSONArray(); for(int i=0;i<list.size();i++){ json=new JSONObject(); try { json.put("id", list.get(i).getType_id()); json.put("name", list.get(i).getType_name()); json.put("num", list.get(i).getType_num()); ja.put(i, json); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return ja; } public static JSONArray setListToJM(ArrayList<Messages> list){ JSONObject json=null; JSONArray ja=new JSONArray(); for(int i=0;i<list.size();i++){ json=new JSONObject(); try { json.put("id", list.get(i).getMes_id()); json.put("reuser", list.get(i).getMes_user()); json.put("form", list.get(i).getMes_form()); json.put("reto", list.get(i).getMes_to()); json.put("date", list.get(i).getMes_date()); json.put("content", list.get(i).getMes_content()); ja.put(i, json); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return ja; }
2、解析方法类
package com.chase.db;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
import com.chase.model.Messages;
import com.chase.model.MyRes;
import com.chase.model.Types;
public class JSONArrayToLsit {
public static ArrayList<MyRes> setJRToList(JSONArray ja){ JSONObject json=null;
MyRes re=null;
ArrayList<MyRes> list=new ArrayList<MyRes>(); for(int i=0;i<ja.length();i++){【json数据解析】
try {
re=new MyRes();
json=ja.getJSONObject(i);
re.setRes_id(json.getInt("id"));
re.setRes_name(json.getString("name")); re.setRes_form(json.getString("form"));
re.setRes_update(json.getString("update")); re.setRes_upuser(json.getString("upuser")); re.setRes_pass(json.getInt("pass"));
re.setRes_downsum(json.getInt("downsum")); re.setRes_remark(json.getString("remark")); re.setRes_patch(json.getString("patch"));
re.setRes_reco(json.getBoolean("reco")); Log.e("jiexi", json.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
list.add(re);
}
Log.e("jiexi", list.get(0).getRes_name());
return list;
}
public static ArrayList<Messages> setJMToList(JSONArray ja){ JSONObject json=null;
Messages me=null;
} ArrayList<Messages> list=new ArrayList<Messages>(); for(int i=0;i<ja.length();i++){ me=new Messages(); try { json=ja.getJSONObject(i); me.setMes_id(json.getInt("id")); me.setMes_user(json.getString("reuser")); me.setMes_form(json.getString("form")); me.setMes_date(json.getString("date")); me.setMes_to(json.getString("reto")); me.setMes_content(json.getString("content")); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } list.add(me); } return list; } public static ArrayList<Types> setJTToList(JSONArray ja){ JSONObject json=null; Types ty=null; ArrayList<Types> list=new ArrayList<Types>(); for(int i=0;i<ja.length();i++){ ty=new Types(); try { json=ja.getJSONObject(i); ty.setType_id(json.getInt("id")); ty.setType_name(json.getString("name")); ty.setType_num(json.getInt("num")); } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } list.add(ty); } return list; }
json解析例子
json数据解析(二)
下面这个是自己修改别人的小例子,主要是加一些注释和讲解,这个例子主要是使用android进行json解析。
1 单数据{'singer':{'id':01,'name':'tom','gender':'男'}}
2 多个数据{"singers":[
3 {'id':02,'name':'tom','gender':'男'},
4 {'id':03,'name':'jerry,'gender':'男'},
5 {'id':04,'name':'jim,'gender':'男'},
6 {'id':05,'name':'lily,'gender':'女'}]}
下面的类主要是解析单个数据parseJson()和多个数据的方法parseJsonMulti(): 查看源码
打印?
01 public class JsonActivity extends Activity {
02 /** Called when the activity is first created. */
03 private TextView tvJson;
04 private Button btnJson;
05 private Button btnJsonMulti;
06 @Override
07 public void onCreate(Bundle savedInstanceState) {
08 super.onCreate(savedInstanceState);
09 setContentView(R.layout.main);
10 tvJson = (TextView) this.findViewById(R.id.tvJson);
11 btnJson = (Button) this.findViewById(R.id.btnJson);
12 btnJsonMulti = (Button) this.findViewById(R.id.btnJsonMulti);
13 btnJson.setOnClickListener(new View.OnClickListener() {
14 @Override
15 public void onClick(View v) {
16 // url
17 // String strUrl = "18 String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGER); 19 //获得返回的Json字符串
20 String strResult = connServerForResult(strUrl);
21 //解析Json字符串
22 parseJson(strResult);
23 }
24 });
25 btnJsonMulti.setOnClickListener(new View.OnClickListener() {
26 @Override
27 public void onClick(View v) {
28 String strUrl = ServerPageUtil.getStrUrl(UrlsOfServer.JSON_SINGERS); 29 String strResult = connServerForResult(strUrl);
30 //获得多个Singer
31 parseJsonMulti(strResult);
32 }
33 });
34 }
35 private String connServerForResult(String strUrl) {
36 // HttpGet对象
37 HttpGet httpRequest = new HttpGet(strUrl);
38 String strResult = "";
39 try {
40 // HttpClient对象
41 HttpClient httpClient = new DefaultHttpClient();
42 // 获得HttpResponse对象
43 HttpResponse httpResponse = httpClient.execute(httpRequest);
44 if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { 45 // 取得返回的数据
46 strResult = EntityUtils.toString(httpResponse.getEntity());
47 }
48 } catch (ClientProtocolException e) {
49 tvJson.setText("protocol error");
50 e.printStackTrace();
51 } catch (IOException e) {
52 tvJson.setText("IO error");
53 e.printStackTrace();
54 }
55 return strResult;
56 }
57 // 普通Json数据解析
58 private void parseJson(String strResult) {
59 try {
60 JSONObject jsonObj = new JSONObject(strResult).getJSONObject("singer"); 61 int id = jsonObj.getInt("id");
62 String name = jsonObj.getString("name");
63 String gender = jsonObj.getString("gender");
64 tvJson.setText("ID号"+id + ", 姓名:" + name + ",性别:" + gender); 65 } catch (JSONException e) {
66 System.out.println("Json parse error");
67 e.printStackTrace();【json数据解析】
68 }
69 }
70 //解析多个数据的Json
71 private void parseJsonMulti(String strResult) {
72 try {
73 JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers"); 74 String s = "";
75 for(int i = 0; i < jsonObjs.length() ; i++){
76 JSONObject jsonObj = ((JSONObject)jsonObjs.opt(i))
77 .getJSONObject("singer");
78 int id = jsonObj.getInt("id");
79 String name = jsonObj.getString("name");
80 String gender = jsonObj.getString("gender");
81 s += "ID号"+id + ", 姓名:" + name + ",性别:" + gender+ "\n" ; 82 }
83 tvJson.setText(s);
84 } catch (JSONException e) {
85 System.out.println("Jsons parse error !");
86 e.printStackTrace();
87 }
88 }【json数据解析】
89 }
后台转换JSON数据类型,前台解析JSON数据等等例子总结
json数据解析(三)
后台转换JSON数据类型,前台解析JSON数据等等例子总结 JSON对象:
JSONObject obj = new JSONObject();
return obj.toJSONString();
前台解析: Success:function(data){
var result = data.result;
var message = data.message; }
json对象中有json对象的写法:
Objstr为一个JSONObject obj的String转换
private String getsuccess(String objstr,int number){
JSONObject obj = new JSONObject();
return obj.toJSONString();
}
前台解析:
Picjson为success返回的data
var result = picjson.result;
if (result==1) {
var objdata = picjson.obj;
var data = eval('(' + objdata + ')'); var num = picjson.number;
picurl = null;
showpiclist(data, num);
} else{
alert(picjson.message);
picurl = null;
}
list转成json对象
需要的包:
1.commons-lang.jar
2.commons-beanutils.jar
3.commons-collections.jar
4.commons-logging.jar
5.ezmorph.jar
6.json-lib-2.2.2-jdk15.jar ,
由于在struts2中没有自带的.ezmorph.jar ,一开始List对象列表转换成json数据格式的时候并不对还报错 List<ImageBean>
bean=newmainservice.getImageBeanbyNewid(newid); JSONArray
json=JSONArray.fromObject((Object)bean); System.out.println(json.toString());
response.getWriter().print(json.toString()); }catch(Exception e){e.printStackTrace();} 前台解析: $.ajax({
method:"post",
url:"/bs.cxhd/pub/newpiclist.action", data:{"newid":newid},
success:function(data){
var piclist=eval(data);
alert(piclist.length);
alert(piclist[0]["url"]);
},
error:function(data){} 因为时间有限,我就不贴那么多代码了,剩下的自己看看就懂额。毕设有需要的联系QQ2978077563
后期即将发布几个中小型的web项目,需要源码的请加QQ
以上就是中国招生考试网http://www.chinazhaokao.com/带给大家不一样的精彩成考报名。想要了解更多《json数据解析》的朋友可以持续关注中国招生考试网,我们将会为你奉上最全最新鲜的成考报名内容哦! 中国招生考试网,因你而精彩。
最新推荐成考报名
更多- 歇后语_歇后语大全_歇后语大全及答案_爆笑歇后语
- 大学排名_大学排名2018排行_大学查询_中国大学名单
- 成语大全_四字成语_在线成语词典_成语查询
- 成语接龙大全查询,成语接龙游戏,在线成语接龙
- 全国安全教育平台入口_学校安全教育平台
- 社保查询网-社会保障卡查询,社会保险查询,社保网上查询
- 汉字简体繁体转换_在线繁体字转换工具
- 数字大写转换|人民币金额(数字)大小写转换在线工具
- 年龄计算器实际岁数计算器 - 周岁虚岁计算器
- 产假计算器-算产假计算器在线2018-2018年产假自动计算器
- 预产期计算器-怀孕孕期计算器-怀孕天数计算
- 中国文库网-教育资源网-范文文章
- 邮编区号查询网
- 致富商机网-致富点子_创业项目
- 创业项目网--最热门的投资项目
- 中国邮政邮编查询号码
- 电话区号查询
- 全国车牌号归属地大全
- 在线网速测试|宽带速度测试
- 人民币汇率查询
- ●理财有没有风险 金融互联网理财
- ●qq网名
- ●2016最新伤感说说
- ●谈笑风生造句
- ●读书的名言
- ●资产清查报告
- ●贫困户申请书
- ●财务自查报告
- ●离婚起诉书
- ●赞美老师的演讲稿
- ●车间管理
- ●车辆购置税
- ●跨越百年的美丽读后感
- ●跟女友离别的话
- ●超市管理制度
- ●起诉状范本
- ●赠别诗大全
- ●描写夏天的句子
- ●描写友谊的诗句
- ●迁户口申请书
- ●转正申请表范本
- ●这个杀手不太冷台词
- ●运动会稿子精选
- ●那么那么造句
- ●送给男朋友的情话大全
- ●钳工实训报告
- ●霸气说说大全
- ●骂人不带脏字的
- ●幼儿园见习个人总结
- ●追女孩子的短信