json格式化高亮

| 荷兰移民 |

【www.guakaob.com--荷兰移民】

篇一:《Ajax Hacks-hack7接收JSON格式的数据》

Ajax Hacks-hack7接收JSON格式的数据

怎样才能使用Ajax从服务器接收js对象数据呢?你可以使用一种叫javascript 对象符号的格式接收数据。本hack讲述用户输入信息,从服务器得到JSON格式的响应数据。

JSON很普通而直观,这也许是许多开发者喜欢使用的原因吧。一个例子就是,服务器程序从服务器得到信息,然后以JSON格式返回给web页面。JSON格式的数据描述如下:

左大括号“{”

一个或多个属性名,以冒号隔开的对应的值,以逗号隔开的属性/值对。

右大括号 “}”

每个属性的值可以是:

简单的字符串,例如 “hello”

数组,例如 [1,2,3,4]

数字

true, false, 或 null

其他对象,组合的,或者对象中还有对象。

详细信息请访问:/retype/zoom/1b8f6d35eefdc8d376ee32af?pn=2&x=0&y=0&raww=87&rawh=29&o=jpg_6_0_______&type=pic&aimh=29&md5sum=f0d17720b44ccedb1809c4e00649c6d0&sign=0791482292&zoom=&png=0-254&jpg=0-1383" target="_blank">程序员的好评。每周超过50k的开发者使用此应用程序。如此多的人是不会错

的!

支持的功能 1. Make a HTTP request (via XmlHttpRequest level 2) 2. Debug socket (via web socket API). 3. JSON response viewer 4. XML response viewer 5. set custom headers - even does not supported by XmlHttpRequest object 6. help with filling HTTP headers (hint + code completion) 7. add headers list as raw data or via form 8. construct POST or PUT body via raw input, form or send file(s) with request 9. set custom form encoding 10. remember latest request (save current form state and restore on load) 11. save (Ctrl+S) and open (Ctrl+O) saved request forms

12. history support

13. data import/export

Postman -REST client

Postman可以帮助你更有效的针对API工作。Postman是一个scratch-your-own-itch项目。它需要的是开发者有效的在项目中创建APIS,能够对API测试进行收藏保

留。 支持功能

1. HTTP requests 支持文件上传

2. 格式化API响应的JSON and XML 3. 打开 responses 的HTML文件在一个新窗口展示

4. 支持REST准则的超媒体应用状态的引擎- HATEOS

5. 图像预览

6. Request history

7. 基本oauth 1.0助手

8. Autocomplete for URL and header values

9. 可以在URL参数中使用 key/value编辑添加参数或header值

10. 使用环境变量容易转移之间设置。可用于测试,生产,分期或本地设置。

11. 使用全局变量的值是在整个 APIs

12. 使用快速查找功能预览变量和它们的值使用状况

13. 键盘快捷方式,最大限度地提高您的生产力

Simple REST Client

Simple REST Client插件,提供了一个简单的表单进行各种HTTP操作,并可以看到返回的信息。构建自定义HTTP请求直接测试您的网络

Firefox下的RESTClient

FirefoxRESTClient的插件,这款插件由国人开发,功能上支持Basic和OAuth的登录header发送,并且对于返回的XML数据还可以高亮显示

Linux常用的工具CURL

CURL是一个很强大的支持各种协议的文件传输工具,用它来进行RESTful Web Services的测试简直是小菜一碟。

CURL的命令参数非常多,一般用于RESTful Web Services测试要用到下面四种参数:

 -d/–data :POST数据内容 -X/–request :指定请求的方法(使用-d时就自动设为POST了) -H/–header :设定header信息 -I/–head:只显示返回的HTTP头信息 Java GUI rest-client

这是一个用Java写的测试小工具,项目主页上提到它有命令行和GUI两种版本。为了方便操作我们选择GUI版本来看看。既然是一款软件,显然就比刚才介绍的浏览器插件功能更加强大。它支持应答正文的JSON和XML缩排和高亮,还可以一键搭建一个RESTful服务端,另外还提供了单元测试的功能。

篇三:《客户端与服务端的交互》

必备知识部分:

服务端(生成Json数据):

使用Myeclipse:

1、 新建Web project:

2、 完成后的目录结构:

3、写一个序列化json的类,并继承自HttpServlet,覆写doGet方法 自己写一个最简单的生成jsonObject数据的方法:

/**

* 写json数据出来,类型jsonObject

* */

public String toJson() {

JSONObject jsonObject = new JSONObject();

try {

jsonObject.put("studentId", "2012329700030");

jsonObject.put("name", "龙隆蟀舞");

jsonObject.put("sex", "男");

jsonObject.put("password", "55555555");

jsonObject.put("major", "数字媒体与技术");

} catch (JSONException e) {

e.printStackTrace();

}

return jsonObject.toString();

}

然后在doGet方法中返回该数据:

String temp = toJson();

resp.getOutputStream().write(temp.getBytes("utf-8"));

resp.setContentType("text/json;charset=utf-8");

// resp.getWriter().print(temp);//也是输出的一种办法

在doPost方法中调用doGet方法:doGet(req, resp);

3、 然后配置WebRoot目录下的WEB-INF里的web.xml,在web-app节点里输入以下配置信息:

<servlet>

<servlet-name>Json_Serialize</servlet-name>

<servlet-class>com.zstu.practice.Json_Serialize</servlet-class> <!-- class节点就是你类的具体目录 -->

</servlet>

<servlet-mapping>

<servlet-name>Json_Serialize</servlet-name>

<url-pattern>/Json_Serialize</url-pattern>

</servlet-mapping>

4、 然后将该工程部署到服务器上,在浏览器中访问该工程的地址:

成功后可以访问到如下内容:

补充:

刚才写的是一条jsonObject(json对象)数据,

现在来写一条jsonArray(json数组)数据;

应用举例:

jsonObject 可以用于返回查询具体某个学号的单个学生数据

jsonArray 可以用于返回查询具体某个专业的所有学生数据

先改写下原来的toJsonObject方法:

/**

* 写json数据出来,类型jsonObject

* */

public JSONObject toJsonObject() {json格式化高亮

JSONObject jsonObject = new JSONObject();

try {

jsonObject.put("studentId", "2012329700030");

jsonObject.put("name", "龙隆蟀舞");

jsonObject.put("sex", "男");

jsonObject.put("age", "18");

jsonObject.put("major", "数字媒体与技术");

} catch (JSONException e) {

e.printStackTrace();

}

//返回数据

return jsonObject;

}

在写一个生成jsonArray的方法:

/**

* 写json数据出来,类型jsonArray

* */

public String toJsonArray() {

JSONArray jsonArray = new JSONArray();

// 放入一层对象数据

jsonArray.put(toJsonObject());

// 返回数据

return jsonArray.toString();

}

至此,服务端json格式的数据生成讲解完毕。

安卓端(数据请求:得到Josn) 写一个http请求的基类:包括GET和POST两种方式; 首先,最简单的GET方式:

/**

* 得到Json的字符串,通过GET方式

*

* @param url_path

* @return

*/

public static String getJsonGET(String url_path) {

String text = ""; // 定义要返回的字符串

try {

URL url = new URL(url_path);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();// 获取连接

conn.setRequestMethod("GET");// 请求的方式为GET conn.setConnectTimeout(4000);// 设置连接超时

int statusCode = conn.getResponseCode();// 获得状态码 if (statusCode == 200) {

InputStream is = conn.getInputStream();// 输入流 text = getStringFromInputStream(is);// 得到结果 return text;

} else {

text = "timeout";

return text;

}

} catch (Exception e) {

e.printStackTrace();

text = "timeout";

return text;

}

}

然后另一种方式为HttpClient的post:

/**

* 通过HttpClient的方式

*

* @param url

* @return

*/

public static String getJsonPOST(String url) {

HttpClient client = null;// 定义一个客户端

String text = ""; // 定义要返回的字符串

try {

BasicHttpParams httpParams = new BasicHttpParams();// 设置连接超时 HttpConnectionParams.setSoTimeout(httpParams, 8000); // 请求时间 HttpConnectionParams.setConnectionTimeout(httpParams, 8000);// 连接时间

client = new DefaultHttpClient(httpParams);// 实例化一个客户端

HttpPost post = new HttpPost(url);// 定义post方法

HttpResponse response = client.execute(post);// 使用客户端执行post方法,返回给我们一个HttpResponse对象

int statusCode = response.getStatusLine().getStatusCode(); // 获得状态码

if (statusCode == 200) {

// 使用响应对象获得实体, 获得输入流

InputStream is = response.getEntity().getContent();

text = getStringFromInputStream(is);

System.out.println("得到的数据:" + text);

return text;

} else {

System.out.println("连接超时");

text = "timeout";

return text;

}

} catch (Exception e) {

e.printStackTrace();

text = "timeout";

System.out.println("错误");

return text;

} finally {

if (client != null) {

client.getConnectionManager().shutdown(); // 关闭连接和释放资源 }

}

}

然后就可以通过get或者post的方式得到相应url的数据:

// 4.0以上不可再主线程中操作网络,注意。切不可在子线程中更新UI

new Thread() {

本文来源:http://www.guakaob.com/yimin/307863.html

    上一篇:奋进诗句

    下一篇:彩虹仿佛是

    热门标签

    HOT