当前位置: 首页 > 实用文档 > 知识 > .NETjson解析类

.NETjson解析类

2016-10-11 10:14:49 编辑: 来源:http://www.chinazhaokao.com 成考报名 浏览:

导读:  NETjson解析类(共3篇)json解析例子下面这个是自己修改别人的小例子,主要是加一些注释和讲解,这个例子主要是使用android进行json解析。1 单数据{singer:{id:01,name:tom,gender:男}}2 多个数据{singers:[3 {id:02,name:tom,gender...

json解析例子
.NETjson解析类 第一篇

下面这个是自己修改别人的小例子,主要是加一些注释和讲解,这个例子主要是使用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();

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");【.NETjson解析类】

80 String gender = jsonObj.getString("gender");

81 s += "ID号"+id + ", 姓名:" + name + ",性别:" + gender+ "\n" ; 82 }

83 tvJson.setText(s);

84 } catch (JSONException e) {【.NETjson解析类】

85 System.out.println("Jsons parse error !");

86 e.printStackTrace();

87 }

88 }

89 }

java中解析json的三种方式
.NETjson解析类 第二篇

//第一种

public void jsonTx() {

String json = "{'status':200,'message':'查询成功','data':[{'id':1,'name':'name1','describe':'

第一条数据'}]}";【.NETjson解析类】

JSONObject data = new JSONObject(json);

int status = data.optInt("status");

JSONArray data1 = data.getJSONArray("data");

if (status==200) {

for(int i=0;i<data1.length();i++){

String s = data1.getString(i);

System.out.println(s);

JSONObject data2 = JSONObject.fromObject(s);

System.out.println(data2.getString("id"));

System.out.println(data2.getString("name"));

System.out.println(data2.getString("describe"));

}

}else if(status==500) {

String msg = data.getString("message");

System.out.println(msg);

}

}

//第二种

public void getJson() {

String json =

"{'response':{'data':[{'address':'北京','province':'海淀','district':'西三旗','city':'地铁'}]},'status':'ok'}";

JSONObject jsonObject = JSONObject.fromObject(json);

String status = jsonObject.getString("status");

// System.out.println(str);

String response = jsonObject.getString("response");

JSONObject jsonObject2 = JSONObject.fromObject(response);

【.NETjson解析类】

JSONArray data = jsonObject2.getJSONArray("data");

for(int i=0;i<data.length();i++){

【.NETjson解析类】

String s = data.getString(i);

JSONObject data2 = JSONObject.fromObject(s);

System.out.println(data2.getString("address"));

System.out.println(data2.getString("province"));

System.out.println(data2.getString("district"));

System.out.println(data2.getString("city"));

}

}

//第三种(只获取json里面数据)

public static void main(String[] args) {

String json =

"{\"response\":{\"data\":[{\"address\":\"北京\",\"province\":\"海淀\",\"district\":\"三环\",\"city\":\"桥\"}]},\"status\":\"ok\"}";

String str[] =

【.NETjson解析类】

json.replaceAll(".*\"address\":\"(.*?)\".*\"province\":\"(.*?)\",.*\"district\":\"(.*?)\",.*\"city\":\"(.*?)\".*",

"$2,$4,$3,$1").split(",");

for (String s : str) {

System.out.println(s);

}

}

JSON解析详细文档
.NETjson解析类 第三篇

JSON 的含义?

JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。JSON与XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是JSON比XML数据传输的有效性要高出很多。JSON完全独立与编程语言,使用文本格式保存。

JSON数据有两种结构:

 

Name-Value 对构成的集合,类似于Java中的Map。 Value的有序列表,类似于Java中的Array。

一个JSON格式的数据示例: {

"Name": "Apple",

"Expiry": "2007/10/11 13:54", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }

更多关于JSON数据格式的说明参看JSON官方网站:/retype/zoom/f4f64fd1b14e852458fb572c?pn=5&x=0&y=1586&raww=14&rawh=15&o=png_6_0_0_213_608_16_17_893.25_1263.375&type=pic&aimh=15&md5sum=9947825c5cc6765ae336e9aa6fe51ad4&sign=44ea16480b&zoom=&png=2712-6841&jpg=0-0" target="_blank">


.NETjson解析类相关热词搜索:c json解析类 java json解析工具类

1、篇一:为什么DNF站CPU那么高?一、DNF就是一横版格斗,3D都算不上。为啥我玩COD8什么的都没有DNF占cpu二、DNF的特效又不是特别好,都是图片 CPU为什么站存那么高(2015-12-14)

2、篇一:cpu使用率高怎么办??我矗穿避费篆渡遍杀拨辑的电脑一直cpu使用率高,电脑的反应也很慢,cpu使用率高一般跟什么有关?电脑cpu使用率 CPU过高怎么办(2015-12-14)

3、篇一:facebook为什么不能进入中国??主要原因之一:中国社会科学院在京发布的《中国新媒体发展报告(2010)》指出,社交网站的病毒式营销 Facebook为什么进不了中国(2015-12-14)

4、篇一:中国大陆能使用Facebook 吗?可以、只要使用代理软件就可以篇二:为什么中国不能上Facebook!为什么中国不能上Facebook!脸谱是世界性社 Facebook在大陆能用吗(2015-12-14)

5、篇一:qq飞车进入游戏后没有声音我刚下好的QQ飞车一进去就没有声音,我打开系统设置,里面的声音和音效都是打开的,而且音量都调到了最大, QQ飞车进入游戏里面的声音没有怎么回事(2015-12-14)

6、篇一:cad如何合并多条线段?输入“P法敞瘁缎诓等搭劝但滑E”---“M”选择要合并的对象---“ ”---“J”---“ ”---“ ”---“ ”如上操 cad怎么合并线段(2015-12-14)

7、篇一:电脑玩cf总是小屏幕怎么办y450,w7WIN7游戏通病,半屏在开始搜索框输入regedit打开注册表,定位到HKEY_LOCAL_MACHINE------SYSTEM---- cf为什么是小屏幕(2015-12-14)

8、篇一:CK为什么要选择自杀如题。不明白。是真的不理解。现实中比她活的痛苦比她孤独的人有很多,但并不是都选择了自杀。有很多人都坚持好好 ck为什么要自杀(2015-12-14)

9、篇一:excel表格怎么做折线图让X轴和Y轴的数据如图所示,谢谢高手们了,速度啊 在线等要详细步骤伐禒崔溉诏防措狮胆饯问题补充:1、点击“ excel怎么做折线图(2015-12-14)

10、篇一:excel2010我做的一个表格怎么转换成折线图太头痛了 把那个甫海颠剿郯济奠汐订搂表格个做成折线图,但是要在一个百分比里体现出来 excel怎么把表格换成折线图(2015-12-14)

11、篇一:为什么在excel表格单元格中输入数字显示 如果单元格为常规或数值格式,就是单元格的列不够宽,拉宽即可。如果单元格为日期格式,如果 excel表格内输入数字为什么显示不对(2015-12-14)

12、篇一:如何把EXCEL里隐藏的工作表中内容显示出来如果工作表没有保护,则在被隐藏的列相邻的列标或行标上拖动;或直接点击工作表行列标交叉的 excel表格隐藏的表格怎么弄出来(2015-12-14)

13、篇一:为什么在中国没有facebook?“FaceBook因为其服务商不愿意遵守中国的法律,所以不获准许在中国范围内开展业务。同样的例子,在GOOGLE facebook为什么不在中国(2015-12-14)

14、篇一:facebook为什么中国不能使用中国学生之间要QQ,外国学生就要FT,为什么中国法律禁止?它怕传播不好的文氦稜份谷莓咐逢栓抚兢化?那msn facebook为什么不能在中国上(2015-12-14)

15、篇一:中国可以使用facebook吗?目前还不能,因为一些原因,你懂得,打不开这个网站。需要的话可以使用VPN和SSH软件,软件可以到淘宝上买, facebook在国内能用吗(2015-12-14)

最新推荐成考报名

更多
1、“.NETjson解析类”由中国招生考试网网友提供,版权所有,转载请注明出处。
2、欢迎参与中国招生考试网投稿,获积分奖励,兑换精美礼品。
3、".NETjson解析类" 地址:http://www.chinazhaokao.com/zhishi/680613.html,复制分享给你身边的朋友!
4、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!

最新成考报名

成考报名排行榜