的jsp json解析对象在jsp页面怎么解析了显示的

JSon字符串转JSon对象,使JSP页面直接返回JSON对象
public static String renderJson(HttpServletResponse response,
String content){ response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.setHeader("Cache-Control", "no-cache");
java.io.PrintWriter pw = try{ pw = response.getWriter();
pw.write(content); }catch (Exception e){ // }finally{ pw.close(); }
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。35662人阅读
javascript应用(3)
本文简单讲诉Jquery处理json与ajax返回的Json的一个例子
JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“pwd”:”123”},对象的值是键值对的形式(key:value)。
&“[]”,标识数组,数组内部各个数据之间通过“,”分割,一个数组中可以有很多对象,具体表现形式如下:
[{&pwd&:&adminpwd01&,&userName&:&admin01&},{&pwd&:&adminpwd02&,&userName&:&admin01&}]
下面讲下采用java语言实现通过json对象数据的传输
1.首先建立一个servlet,具体核心代码如下所示:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(&text/html&);
PrintWriter out = response.getWriter();
String name=request.getParameter(&name&);
System.out.println(&name=&+name);
UserInfo userInfo=new UserInfo();
userInfo.setUserName(&admin01&);
userInfo.setPwd(&adminpwd01&);
UserInfo userInfo2=new UserInfo(&admin01&, &adminpwd02&);
List&UserInfo& list=new ArrayList&UserInfo&();
list.add(userInfo);
list.add(userInfo2);
JSONArray ja=JSONArray.fromObject(list);
out.print(ja);
System.out.println(&array---&&+ja);
上面代码的主要功能是为了实现将对象中数据放到list集合中,然后将list集合中的数据封装到JSON数组中,然后通过OUT.PRINT输出。
再上面的代码中我们要引入jar包
再web.xml中配置servlet以及servlet的映射信息。
2.建立一个jsp
引入jquery.js,具体实现代码如下:
&script type=&text/javascript& src=&./jquery/js/jquery-2.1.1.js&&&/script&
&script type=&text/javascript&&
function test(){
var name=document.getElementById(&name&).
type:&POST&, //请求方式
url:&./s/userServlet&, //请求路径
cache: false,
data:&name=&+name,
dataType: 'json',
//返回值类型
success:function(msg){
var me=msg[0];
var me=msg[0].userN
for(i in msg){
var me1=msg[i];
error:function(){
alert(&error&);
&form action=&& method=&post& &
&input type=&text& name=&name& id=&name& value=&nameme&&
&input type=&button& name=&b& value=&测试& onclick=test()&
3.启动服务器,我们通过谷歌浏览器来调试下,看下具体的数据情况。
控制台打印的结果如下:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:264469次
积分:2193
积分:2193
排名:第15118名
原创:40篇
转载:20篇
评论:30条
(1)(2)(2)(1)(2)(1)(2)(1)(1)(2)(1)(2)(4)(2)(1)(5)(6)(1)(3)(1)(2)(2)(2)(1)(1)(1)(2)(1)(5)(2)(1)http请求返回并解析json数据 -
- ITeye技术网站
博客分类:
注意get和post请求的发送区别
* 1、创建HttpGet(或HttpPost)对象,将要请求的URL通过构造方法传入HttpGet(或HttpPost)对象中;
2、使用DefaultHttpClient类的execute方法发送HTTP GET或HTTP POST 请求,并返回HttpResponse对象;
3、通过HttpResponse接口的getEntity方法返回响应信息。
public class TestHttpActivity extends Activity {
private Button btn_
private Button btn_
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn_get=(Button)findViewById(R.id.btn_get);
btn_post=(Button)findViewById(R.id.btn_post);
btn_get.setOnClickListener(listener);
btn_post.setOnClickListener(listener);
private OnClickListener listener=new OnClickListener() {
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_post:
Log.i("TestHttpActivity", "ok");
DefaultHttpClient client = new DefaultHttpClient();
/**NameValuePair是传送给服务器的请求参数
param.get("name") **/
List&NameValuePair& list = new ArrayList&NameValuePair&();
NameValuePair pair1 = new BasicNameValuePair("name", "name0001");
NameValuePair pair2 = new BasicNameValuePair("age", "age0001");
list.add(pair1);
list.add(pair2);
UrlEncodedFormEntity entity=
/**设置编码 **/
entity = new UrlEncodedFormEntity(list,"UTF-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
/**新建一个post请求**/
HttpPost post = new HttpPost("http://aaron-/Test/testHttp");
post.setEntity(entity);
HttpResponse response=
String strResult="";
/**客服端向服务器发送请求**/
response = client.execute(post);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
/**请求发送成功,并得到响应**/
if(response.getStatusLine().getStatusCode()==200){
/**读取服务器返回过来的json字符串数据**/
strResult = EntityUtils.toString(response.getEntity());
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JSONObject jsonObject =
/**把json字符串转换成json对象**/
jsonObject = getJSON(strResult);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
String names="";
* jsonObject.getString("code") 取出code
* 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]
/**得到data这个key**/
String data=jsonObject.getString("data");
/**把data下的数据转换成json对象**/
JSONObject jDat = new JSONObject(data);
/**判断data对象下的list是否存在**/
if(jDat.get("list")!=null){
/**把list转换成jsonArray对象**/
JSONArray jarr = jDat.getJSONArray("list");
/**循环list对象**/
for (int i = 0; i & jarr.length(); i++) {
JSONObject jsono = (JSONObject) jarr.get(i);
/**取出list下的name的值 **/
names=names+jsono.getString("name");
Toast.makeText(TestHttpActivity.this, "code:"+jsonObject.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
else Toast.makeText(TestHttpActivity.this, "POST提交失败", Toast.LENGTH_SHORT).show();
case R.id.btn_get:
DefaultHttpClient client1 = new DefaultHttpClient();
/**NameValuePair是传送给服务器的请求参数
param.get("name") **/
UrlEncodedFormEntity entity1=
/**新建一个get请求**/
HttpGet get = new HttpGet("http://aaron-/Test/testHttp");
HttpResponse response1=
String strResult1="";
/**客服端向服务器发送请求**/
response1 = client1.execute(get);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
/**请求发送成功,并得到响应**/
if(response1.getStatusLine().getStatusCode()==200){
/**读取服务器返回过来的json字符串数据**/
strResult1 = EntityUtils.toString(response1.getEntity());
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JSONObject jsonObject1 =
/**把json字符串转换成json对象**/
jsonObject1 = getJSON(strResult1);
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
String names="";
* jsonObject.getString("code") 取出code
* 比如这里返回的json 字符串为 [code:0,msg:"ok",data:[list:{"name":1},{"name":2}]]
/**得到data这个key**/
String data=jsonObject1.getString("data");
/**把data下的数据转换成json对象**/
JSONObject jDat1 = new JSONObject(data);
/**判断data对象下的list是否存在**/
if(jDat1.get("list")!=null){
/**把list转换成jsonArray对象**/
JSONArray jarr1 = jDat1.getJSONArray("list");
/**循环list对象**/
for (int i = 0; i & jarr1.length(); i++) {
JSONObject jsono = (JSONObject) jarr1.get(i);
/**取出list下的name的值 **/
names=names+jsono.getString("name");
Toast.makeText(TestHttpActivity.this,
"get请求: code:"+jsonObject1.getString("code")+"name:"+names, Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
else Toast.makeText(TestHttpActivity.this, "get提交失败", Toast.LENGTH_SHORT).show();
public JSONObject getJSON(String sb) throws JSONException {
return new JSONObject(sb);
浏览 59648
浏览: 353070 次
为什么我在主线程中定义也会出现这个bug?
Apache2.4.x版wampserver本地php服务器如 ...
我就用的是这种方法,但是还是最后一行显示不全!着急啊!!> JavaScript如何处理解析JSON数据详解
JavaScript如何处理解析JSON数据详解
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的&&名称/值&对&集合。一个对象以&{&(左括号)开始,&}&(右括号)结束。每个&名称&后跟一个&:&(冒号);&&名称/值& 对&之间使用&,&(逗号)分隔。具体细节参考
举个简单的例子:
function showJSON() {&&&&
var user =&&&&
&username&:&andy&,&&&&
&age&:20,&&&&
&info&: { &tel&: &123456&, &cellphone&: &98765&},&&&&
&address&:&&&&
{&city&:&beijing&,&postcode&:&222333&},&&&&
{&city&:&newyork&,&postcode&:&555666&}&&&&
alert(user.username);&&&&
alert(user.age);&&&&
.cellphone);&&&&
alert(user.address[0].city);&&&&
alert(user.address[0].postcode);&&&&
这表示一个user对象,拥有username, age, info, address 等属性。
同样也可以用JSON来简单的修改数据,修改上面的例子
function showJSON() {&&&&
var user =&&&&
&username&:&andy&,&&&&
&age&:20,&&&&
&info&: { &tel&: &123456&, &cellphone&: &98765&},&&&&
&address&:&&&&
{&city&:&beijing&,&postcode&:&222333&},&&&&
{&city&:&newyork&,&postcode&:&555666&}&&&&
alert(user.username);&&&&
alert(user.age);&&&&
.cellphone);&&&&
alert(user.address[0].city);&&&&
alert(user.address[0].postcode);&&&&
user.username = &Tom&;&&&&
alert(user.username);&&&&
JSON提供了json.js包,下载&后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。
function showCar() {&&&&
var carr = new Car(&Dodge&, &Coronet R/T&, 1968, &yellow&);&&&&
alert(carr.toJSONString());&&&&
function Car(make, model, year, color)&&&&&&& {&&&&
this.make&& =&&&&&&
this.model&& =&&&&&&
this.year&& =&&&&&&
this.color&& =&&&&&&
可以使用eval来转换JSON字符到Object
function myEval() {&&&&
var str = '{ &name&: &Violet&, &occupation&: &character& }';&&&&
var obj = eval('(' + str + ')');&&&&
alert(obj.toJSONString());&&&&
或者使用parseJSON()方法
function myEval() {&&&&
var str = '{ &name&: &Violet&, &occupation&: &character& }';&&&&
var obj = str.parseJSON();&&&&
alert(obj.toJSONString());&&&&
下面使用prototype写一个JSON的ajax例子。
先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话&
response.getWriter().print(&{ \&name\&: \&Violet\&, \&occupation\&: \&character\& }&);&&&
再在页面中写一个ajax的请求
function sendRequest() {&&&&
var url = &/MyWebApp/JSONTest1&;&&&&
var mailAjax = new Ajax.Request(&&&&
method: 'get',&&&&
onComplete: jsonResponse&&&&
function jsonResponse(originalRequest) {&&&&
alert(originalRequest.responseText);&&&&
var myobj = originalRequest.responseText.parseJSON();&&&&
alert(myobj.name);&&&&
prototype-1.5.1.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法
function jsonResponse(originalRequest) {&&&&
alert(originalRequest.responseText);&&&&
var myobj = originalRequest.responseText.evalJSON(true);&&&&
alert(myobj.name);&&&&
JSON还提供了java的jar包&&API也很简单,下面举个例子
在javascript中填加请求参数
function sendRequest() {&&&&
var carr = new Car(&Dodge&, &Coronet R/T&, 1968, &yellow&);&&&&
var pars = &car=& + carr.toJSONString();&&&&
var url = &/MyWebApp/JSONTest1&;&&&&
var mailAjax = new Ajax.Request(&&&&
method: 'get',&&&&
parameters: pars,&&&&
onComplete: jsonResponse&&&&
使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {&&&&
String s3 = request.getParameter(&car&);&&&&
JSONObject jsonObj = new JSONObject(s3);&&&&
System.out.println(jsonObj.getString(&model&));&&&&
System.out.println(jsonObj.getInt(&year&));&&&&
} catch (JSONException e) {&&&&
e.printStackTrace();&&&&
response.getWriter().print(&{ \&name\&: \&Violet\&, \&occupation\&: \&character\& }&);&&&&
同样可以使用JSONObject生成JSON字符串,修改servlet
private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {&&&&
String s3 = request.getParameter(&car&);&&&&
JSONObject jsonObj = new JSONObject(s3);&&&&
System.out.println(jsonObj.getString(&model&));&&&&
System.out.println(jsonObj.getInt(&year&));&&&&
} catch (JSONException e) {&&&&
e.printStackTrace();&&&&
JSONObject resultJSON = new JSONObject();&&&&
resultJSON.append(&name&, &Violet&)&&&&
.append(&occupation&, &developer&)&&&&
.append(&age&, new Integer(22));&&&&
System.out.println(resultJSON.toString());&&&&
} catch (JSONException e) {&&&&
e.printStackTrace();&&&&
response.getWriter().print(resultJSON.toString());&&&&
function jsonResponse(originalRequest) {&&&&
alert(originalRequest.responseText);&&&&
var myobj = originalRequest.responseText.evalJSON(true);&&&&
alert(myobj.name);&&&&
alert(myobj.age);&&&&&font size=2 &Today:&/font&&&font id ="todaytotal" size=2 color="red"&&/font&
$.getJSON("/portal/visitor/getVisitorCount?rn="+Math.random(),function(jsondata){
document.getElementById("todaytotal").innerText=jsondata[0].total[29];
阅读(...) 评论()}

我要回帖

更多关于 jsp页面解析json对象 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信