当前位置: 首页 > 实用文档 > 书信函 > asp解析JSON

asp解析JSON

2016-10-08 12:01:11 成考报名 来源:http://www.chinazhaokao.com 浏览:

导读: asp解析JSON(共3篇)ASP 发送及处理JSON格式请求ASP 发送及处理JSON格式请求JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于解析和生成。JSON基于JavaScript的一个子集,采用完全独立于语言的文本格式,但是也使用了类似于C语言...

本文是中国招生考试网(www.chinazhaokao.com)成考报名频道为大家整理的《asp解析JSON》,供大家学习参考。

ASP 发送及处理JSON格式请求
asp解析JSON 第一篇

ASP 发送及处理JSON格式请求

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于解析和生成。JSON基于JavaScript的一个子集,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等),这些特性使JSON成为理想的数据交换语言。

可以使用eval()方法调用JavaScript编译器把JSON文本转变成对象。因为JSON是JavaScript的一个确切子集,编译器可以正确地解析JSON文本,然后生成一个对象结构。例如,下面的语句即使用eval()方法将JSON文本friend转换成对象j将JSON文本转换为对象后,便可以使用索引来获取相应的值。例如,下面的

asp.netJson序列化
asp解析JSON 第二篇

ASP.net中用JSON序列化对象

过去我们使用JSON.net序列化一个对象,在asp.net3.5中已经集成了序列化对象为json的方法。

我们分别针对System.Runtime.Serialization.Json和System.Web.Script.Serialization两个命名空间下的不同方法进行序列化和反序列化。

第一种方法:

System.Runtime.Serialization.Json

(在vs2008添加引用System.Runtime.Serialization 如果在非WEB项目下还需要引用System.ServiceModel.Web)

JosnHelper.CS 代码如下:

1 public class JsonHelper

2 {

3 /// <summary>

4 /// 生成Json格式

5 /// </summary>

6 /// <typeparam name="T"></typeparam>

7 /// <param name="obj"></param>

8 /// <returns></returns>

9 public static string GetJson<T>(T obj)

10 {

11 DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());

12 using (MemoryStream stream = new MemoryStream()) 13 {

14 json.WriteObject(stream, obj);

15 string szJson = Encoding.UTF8.GetString(stream.ToArray()); return szJson;

16 }

17 }

18 /// <summary>

19 ///

获取Json

Model

20 /// </summary>

21 /// <typeparam name="T"></typeparam>

22 /// <param name="szJson"></param>

23 /// <returns></returns>

24 public static T ParseFromJson<T>(string szJson) 25 {

【asp解析JSON】

26 T obj = Activator.CreateInstance<T>();

27 using (MemoryStream ms = new MemoryStream(Encoding.UTF

8.GetBytes(szJson)))

28 {

29 DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());

30 return (T)serializer.ReadObject(ms);

31 }

32 }

33 }

下面为具体用法

声明一个需要输出JSON属性的类

1 public class topMenu

2 {

3 public string id { get; set; }

4 public string title { get; set; }

5

public

string defaulturl {

get;

set; }

6 }

本例使它循环三次 利用上面GetJson方法序列化

1 topMenu t_menu = new topMenu()

2 {

3 id = "1",

4 title = "全局",

5 defaulturl = "123456"

6 };

7

8 List<topMenu> l_topmenu = new List<topMenu>();

9 for (int i = 0; i < 3; i++)

10 {

11 l_topmenu.Add(t_menu);

12 }

13 Response.Write(JsonHelper.GetJson<List<topMenu>>(l_topmenu));

输出结果为:

[{"defaulturl":"123456","id":"1","title":"【asp解析JSON】

全局"},

{"defaulturl":"123456","id":"1","title":"全局"},

{"defaulturl":"123456","id":"1","title":"全局"}]

下面利用上面ParseFromJson方法读取Json【asp解析JSON】

1 string szJson = @"{""id"":""1"",""title"":""全局"",""defaulturl"":""123456""} "; 2 topMenu t_menu2 = JsonHelper.ParseFromJson<topMenu>(szJson); 3 Response.Write(t_menu2.title);

输出结果为:全局

第二种方法

System.Web.Script.Serialization (引用System.Web.Extensions.dll)

还是用到上面方法中JSON属性的类

下面和上面方法中一样。循环三次就。序列化方式不一样【asp解析JSON】

1 topMenu t_menu = new topMenu()

2 {

3 id = "1",

4 title = "全局",

5 defaulturl = "123456"

6 };

7

8 List<topMenu> l_topmenu = new List<topMenu>(); 9

10 for (int i = 0; i < 3; i++)

11 {

12 l_topmenu.Add(t_menu);

13 }

下面用这种方式输出:

java中解析json的三种方式
asp解析JSON 第三篇

//第一种

public void jsonTx() {

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

第一条数据'}]}";

JSONObject data = new JSONObject(json);

【asp解析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);

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

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

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[] =

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

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

for (String s : str) {

System.out.println(s);

}

}

相关热词搜索:asp怎么解析json json在线解析

最新推荐成考报名

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