怎样从json中拿出一个数值在jsp页面遍历json数据上显示

> 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);&&&&js获取json中key所对应的value值 - 备忘录之胡言乱语 - ITeye技术网站
博客分类:
&script type="text/javascript"&
getJson('age');
function getJson(key){
var jsonObj={"name":"傅红雪","age":"24","profession":"刺客"};
//1、使用eval方法
var eValue=eval('jsonObj.'+key);
alert(eValue);
//2、遍历Json串获取其属性
for(var item in jsonObj){
if(item==key){ //item 表示Json串中的属性,如'name'
var jValue=jsonObj[item];//key所对应的value
alert(jValue);
//3、直接获取
alert(jsonObj[''+key+'']);
通过上边三种方法就可以取到json中key对应的值
浏览 55648
浏览: 209712 次
来自: 北京
学习啦!谢谢
很是不错!
楼主,我安装你的方法,调不通啊。起producer的时候报错j ...
/django_mast ...
文字写的很好,谢谢分享。但是要调通的话 要修改一下其他回答(1)
data.Table[0].CustomerID,data是你ajax请求success的function里的返回参数
收获园豆:4
园豆:14033
园豆:14033
园豆:14033
&&&您需要以后才能回答,未注册用户请先。调试时,查看到后台输出的JSON数据:
[{"ID":1,"MaterialCode":"001","MaterialName":"电脑","Size":null,"Unit":"台","Type":null,"Mangent":null,"text":null}]
获取JSON的方法在:MaterialInfo.cs这个文件中
public&string&JsonData(string&JsonName,&DataTable&dt)
&&&&&&&&//JavaScriptSerializer类由异步通信层内部使用,用于序列化和反序列化在浏览器和web服务器之间传递的数据
&&&&&&&&//命名空间System.Web.Script.Serialization
&&&&&&&&JavaScriptSerializer&JSS&=&new&JavaScriptSerializer();
&&&&&&&&//特殊的数组。通过添加和删除元素,就可以动态改变数组的长度
&&&&&&&&System.Collections.ArrayList&dic&=&new&System.Collections.ArrayList();
&&&&&&&&foreach&(DataRow&dr&in&dt.Rows)
&&&&&&&&&&&&System.Collections.Generic.Dictionary&string,&object&&drow&=&new&Dictionary&string,&object&();
&&&&&&&&&&&&foreach&(DataColumn&dc&in&dt.Columns)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&drow.Add(dc.ColumnName,&dr[dc.ColumnName]);
&&&&&&&&&&&&}
&&&&&&&&&&&&dic.Add(drow);
&&&&&&&&return&JSS.Serialize(dic);
&script&type="text/javascript"&
&&&&&&&&$(function&()&{
//&&&&&&&&&&&&
&&&&&&&&&&&&$.ajax({
&&&&&&&&&&&&&&&&type:&"get",
&&&&&&&&&&&&&&&&url:&"../App_Code/MaterialInfo.cs",
&&&&&&&&&&&&&&&&dataType:&"json",
&&&&&&&&&&&&&&&&success:&function&(Json)&{
&&&&&&&&&&&&&&&&&&&&alert(Json);
&&&&&&&&&&&&&&&&&&&&var&obj&=&eval(Json);
&&&&&&&&&&&&&&&&&&&&$("#maintable&tbody&tr").remove();
&&&&&&&&&&&&&&&&&&&&for&(var&i&=&0;&i&&&obj.&i++)&{
&&&&&&&&&&&&&&&&&&&&&&&&var&row&=&$("#content").clone();
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#ID").text(obj[i].ID);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#MaterialCode").text(obj[i].MaterialCode);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#MaterialName").text(obj[i].MaterialName);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#Size").text(obj[i].Size);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#Unit").text(obj[i].Unit);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#Type").text(obj[i].Type);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#Mangent").text(obj[i].Mangent);
&&&&&&&&&&&&&&&&&&&&&&&&row.find("#text").text(obj[i].text);
&&&&&&&&&&&&&&&&&&&&&&&&row.appendTo("#maintable");
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&},&error:&function&()&{
&&&&&&&&&&&&&&&&&&&&alert("加载失败");
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&})
&&&&&&&&})
&&&&&/script&
&&&&&&&&&table&id="maintable"&class="table"&width="100%"&layoutH="138"&
&&&&&&&&&&&&&thead&
&&&&&&&&&&&&&&&&&tr&
&&&&&&&&&th&width="80"&&/th&
&&&&&&&&&&&&&&&&&&&&&&&&&th&width="80"&ID&/th&
&&&&&&&&&th&width="120"&物料编码&/th&
&&&&&&&&&th&width="120"&物料名称&/th&
&&&&&&&&&th&width="100"&规格&/th&
&&&&&&&&&th&width="150"&单位&/th&
&&&&&&&&&th&width="80"&align="center"&类型&/th&
&&&&&&&&&th&width="80"&生产部门&/th&
&&&&&&&&&th&width="80"&备注&/th&
&&&&&&&&&/tr&
&&&&&&&&&&&&&/thead&
&&&&&&&&&&&&&tbody&
&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&tr&id="content"&target="sid_user"&rel="1"&
&&&&&&&&&&&&&&&&&&&td&width="80"&&/td&
&&&&&&&&&&&&&&&&&&&td&id="ID"&width="80"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="MaterialCode"&width="120"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="MaterialName"&width="120"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="Size"&width="100"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="Unit"&width="150"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="Type"&width="80"&align="center"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="Mangent"&width="80"&2&/td&
&&&&&&&&&&&&&&&&&&&td&id="text"&width="80"&2&/td&
&&&&&&&&&&&&&&&&&/tr&
&&&&&&&&&&&&&/tbody&
&&&&&&&&&/table&
以前使用标准控件做数据处理,如今想做一个项目学习下AJAX,对于JQ基本小白,求告知为什么获取不到JSON数据呢,我个人有在学习,这个案例比较紧!!!求大神戳进来帮忙!!!!
回答: 前台如何通过JQuery获取后台的JSON数据,并输出到表格中。这个案例比较紧!!!求大神戳进来帮忙!!!!
url:&"/BomProj/Material/MaterialInfo.asmx/GetMaterialData",
层次较深,用绝对路径比较好
Q 如何将json里面的数据,绑定到页面上面,不经过后台处理,只利用js,把&json里面的数据,绑定在HTML页面里面,刚刚接触这些东西,求大神指教!
Ajax请求POST到后台程序处理,业务处理完后返回JOSN串
在success&function中返回result.data,然后直接用js绑定到页面就可以啊
Q 求大神指教!
JSP页面获取的几个数怎么合成合成一个数
例如&获取到,1,20这四个数
怎么合成20
并且根据最后获取的这个20用循环合成01至20的20个数字
求大神给个代码,但是不要用javabean做就是纯jsp编程
1、怎么获取,你自己应该知道这个值从哪里来啊,你要是不知道,别人怎么知道?
2、合成:把4个数字转换为string,比如:var&a=2012;var&b1=a+"",这样就转换成string了,然后字符串相加,b1+b2+b3+b4即可,
3、把合成的字符串再转换为数字,比如:var&b="01";&var&c=a*1,这样就转换为数字了,剩下的生成20个数字,就来个for循环,最小的数字+1,小于最大的数字为判断条件:for(i=01;i&20;i++)就得到你要的数组了
Q &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&百度uEditor---后台配置项返回格式出错,上传功能将不能正常使用!&
&&&&&&&&&&&&&&&&&&&&&&
uEditor的目录文件:
&&&&&&&&&&&&&&&&&&&&&&&
修改了的ueditor.config.js文件,就修改了这一个地方:
&&&&&&&&&&&&&&&&&&&&&&
界面也可以出来
&&&&&&&&&&&&&&&&&&&&&&&
chrome&控制台错误:
&&&&&&&&&&&&&&&&&&&&&&
单张图片上传点了没反应,多图上传后点开是这样的:
&&&&&&&&&&&&&&&&&&&&&&
跪求大神,我不知道怎么回事?
我也遇到这个问题,然后我打开ueditor下的php/controller.php,看到时区报错,就把时区设置改了,再打开该文件就正确返回json。然后,ueditor就不会报“后台配置项返回格式出错,上传功能将不能正常使用!”了
原来设置的是:
date_default_timezone_set("Asia/chongqing");
把重庆的首字母改成大写,就可以了:
date_default_timezone_set("Asia/Chongqing");
Q {"response":[{"secondLevel":[{"isSingle":"0","item":[{"name":"房地产权证","code":"MORTGAGE_01_ESTATE"},{"name":"土地","code":"MORTGAGE_02_LAND"},{"name":"厂房","code":"MORTGAGE_03_FACTORY"},{"name":"船舶","code":"MORTGAGE_04_SHIP"},{"name":"机械设备","code":"MORTGAGE_05_MACHINE"},{"name":"机动车登记证","code":"MORTGAGE_06_CAR"},{"name":"动产","code":"MORTGAGE_07_MOVABLES"},{"name":"四证","code":"MORTGAGE_08_FOUR"}],"name":"抵押","code":"mortgage"},{"isSingle":"0","item":[{"name":"应收账款","code":"PLEDGE_01_BILL"},{"name":"动产","code":"PLEDGE_02_MOVABLES"},{"name":"出口退税应收账款","code":"PLEDGE_03_TAX"},{"name":"股票","code":"PLEDGE_04_STOCK"},{"name":"股权","code":"PLEDGE_05_STOCKOWN"},{"name":"商标专用权","code":"PLEDGE_06_TRADEMARK"},{"name":"专利权","code":"PLEDGE_07_PATENT"},{"name":"保单","code":"PLEDGE_08_INSURANCE"},{"name":"租金","code":"PLEDGE_09_RENT"},{"name":"特种经营权","code":"PLEDGE_10_SPECIAL"},{"name":"信用证","code":"PLEDGE_11_CREDIT"},{"name":"保证金","code":"PLEDGE_12_DEPOSIT"},{"name":"定期存单","code":"PLEDGE_13_SAVINGS"},{"name":"理财产品","code":"PLEDGE_14_FINANCIAL"},{"name":"收费权","code":"PLEDGE_15_CHARGE"},{"name":"银行承兑汇票","code":"PLEDGE_16_EXCHANGE"},{"name":"备用信用证","code":"PLEDGE_18_STANDBY"},{"name":"承兑","code":"PLEDGE_19_ACCEPT"},{"name":"承付","code":"PLEDGE_20_PAY"},{"name":"订单","code":"PLEDGE_21_ORDER"},{"name":"全套出口单据","code":"PRODUCT_BILL"}],"name":"质押","code":"pledge"},{"isSingle":"0","item":[{"name":"保证贷款I","code":"WARRANT_01_LOAN1"},{"name":"保证贷款II","code":"WARRANT_02_LOAN2"},{"name":"非关联企业担保","code":"WARRANT_03_GUARANTEE"},{"name":"担保公司","code":"WARRANT_04_COMPANY"},{"name":"联保","code":"WARRANT_05_JOINT"},{"name":"专业市场关联方","code":"WARRANT_06_MARKET"},{"name":"第三方保证人","code":"WARRANT_07_THIRD"},{"name":"国家主权评级","code":"WARRANT_08_GRADE"},{"name":"授信额度","code":"WARRANT_09_CREDIT"},{"name":"收购企业","code":"WARRANT_10_BUYOUT"}],"name":"保证","code":"warrant"},{"isSingle":"0","item":[{"name":"物业权证","code":"INDWELLING_01_PROPER"},{"name":"股权托管","code":"INDWELLING_02_ENTRUS"},{"name":"POS账户","code":"INDWELLING_03_POS"},{"name":"村组分红账户","code":"INDWELLING_04_VILLAG"}],"name":"留置","code":"indwelling"},{"isSingle":"0","item":[],"name":"定金","code":"earnest"}],"name":"担保方式","code":"guarantee"},{"secondLevel":[{"isSingle":"0","item":[{"name":"流动资产","code":"PURPOSE_01_LIQUID"},{"name":"设备购置","code":"PURPOSE_02_DEVICE"},{"name":"物业购置","code":"PURPOSE_03_PROPERTY"},{"name":"物业装修","code":"PURPOSE_04_RENOVATE"},{"name":"房产开发","code":"PURPOSE_05_DEVELOPME"},{"name":"股权并购","code":"PURPOSE_06_STOCK"},{"name":"房屋按揭","code":"PURPOSE_07_HOUSE"},{"name":"购买汽车","code":"PURPOSE_08_CAR"},{"name":"大额消费项目","code":"PURPOSE_09_SPENDER"},{"name":"其他固定资产贷款","code":"PURPOSE_10_OTHER"},{"name":"技术研发与改造","code":"PURPOSE_11_TECNOLOGY"},{"name":"个人综合性贷款","code":"PURPOSE_12_PERSON"},{"name":"贸易融资","code":"PURPOSE_13_TRADE"},{"name":"消费或个人经营","code":"PURPOSE_14_CONSUME"}],"name":"","code":""}],"name":"贷款用途","code":"purpose"},{"secondLevel":[{"isSingle":"0","item":[{"name":"服务类型企业","code":"APPLICABLE_01_SERVIC"},{"name":"贸易类型企业","code":"APPLICABLE_02_TRADE"},{"name":"生产类型企业","code":"APPLICABLE_03_PRODUC"},{"name":"房地产类型企业","code":"APPLICABLE_04_ESTATE"},{"name":"小微企业","code":"APPLICABLE_05_SMALL"},{"name":"中资企业","code":"APPLICABLE_06_CFE"},{"name":"其他类型企业","code":"APPLICABLE_08_OTHER"},{"name":"个人业务","code":"APPLICABLE_09_PERSON"},{"name":"收购订单相关者","code":"APPLICABLE_10_BUYOUT"},{"name":"专业市场业主或商户等&","code":"APPLICABLE_11_PROF"},{"name":"外资企业","code":"PPLICABLE_07_FFE"}],"name":"","code":""}],"name":"适用对象","code":"applicable"},{"secondLevel":[{"isSingle":"0","item":[{"name":"贷款","code":"USAGE_01_LOAN"},{"name":"银行通兑汇票","code":"USAGE_02_BILL"},{"name":"国内信用证","code":"USAGE_03_CREDIT"},{"name":"国际信用证","code":"USAGE_04_INTER"},{"name":"保函","code":"USAGE_05_GUARANTEE"}],"name":"","code":""}],"name":"使用方式","code":"usage"},{"secondLevel":[{"isSingle":"0","item":[{"name":"每月还息到期还本","code":"REPAY_01_M_INTEREST"},{"name":"每月还本付息","code":"REPAY_02_M_PRIN_INTE"},{"name":"利随本清","code":"REPAY_03_INT_WITH_PR"},{"name":"N+M","code":"REPAY_04_NM"},{"name":"不等额还款","code":"REPAY_05_DIFFERENT"},{"name":"月均还款法","code":"REPAY_06_M_AVERAGE"},{"name":"递减还款法","code":"REPAY_07_REDUCE"},{"name":"其他还款方式","code":"REPAY_08_OTHER"}],"name":"","code":""}],"name":"还款方式","code":"repay"},{"secondLevel":[{"isSingle":"0","item":[{"name":"一年以内(含)","code":"TERM_01_BELOW_YEAR"},{"name":"一年以上","code":"TERM_02_ABOVE_YEAR"},{"name":"其他","code":"TERM_03_OTHERS"}],"name":"","code":""}],"name":"贷款期限","code":"term"},{"secondLevel":[{"isSingle":"0","item":[{"name":"人民币","code":"CURRENCY_01_RMB"},{"name":"外币","code":"CURRENCY_02_OTHER"}],"name":"","code":""}],"name":"贷款币种","code":"currency"},{"secondLevel":[{"isSingle":"1","item":[{"name":"500万元以下(含)","code":"AMOUNT_01_BELOW_500M"},{"name":"500万元以上","code":"AMOUNT_02_ABOVE_500M"},{"name":"无限额","code":"AMOUNT_03_UNLIMITED"},{"name":"1500万元以下(含)","code":"AMOUNT_04_BELOW1500M"}],"name":"","code":""}],"name":"贷款额度","code":"amount"}],"code":"0"}
这个是服务端返回的json&试了好多方法&一个下午了还没解出来&
求大神赐教
附上我正在测试的代码
public&static&List&Map&String,&Object&&&parseJsonListMap(String&result)&throws&IOException,&Exception&{
JSONObject&jsonObject&=&JSON.parseObject(result);
String&code&=&jsonObject.getString("code");
if&("0".equals(code))&{
String&resp&=&jsonObject.getString("response");
JSONArray&jsonArray&=&JSON.parseArray(resp);
List&Map&String,&Object&&&listMap&=&new&ArrayList&Map&String,&Object&&();
for&(int&i&=&0;&i&&&jsonArray.size();&i++)&{
JSONObject&jO&=&(JSONObject)&jsonArray.get(i);
Set&Entry&String,&Object&&&set&=&jO.entrySet();
for&(Entry&String,&Object&&entry&:&set)&{
if&("secondLevel".equals(entry.getKey()))&{
JSONArray&jsonArray1&=&JSON.parseArray(jO.getString("secondLevel"));
if&(jsonArray1.size()&0)&{
for&(int&j&=&0;&j&&&jsonArray1.size();&j++)&{
JSONObject&jos&=&(JSONObject)&jsonArray1.get(j);
System.out.println("jos="+j+jos);
Set&Entry&String,&Object&&&set1&=&jos.entrySet();
for&(Entry&String,&Object&&entry1&:&set1)&{
System.out.println(entry1.getKey()+"="+jos.getString(entry1.getKey()));
Map&String,&String&&map&=&new&HashMap&String,&String&();
if&("1".equals(jos.getString("isSingle")))&{
map.put(entry1.getKey(),&jos.getString(entry1.getKey()));
System.out.println("jos="+j+jos.getString(entry1.getKey()));
return&listM
目前能解析到第三层&后面就不知道怎么解了。。。。
之前遇到过这样的问题,没有使用解析成map的格式,而是根据json数据,定义一大堆bean然后,解析保存的
Q 这个应用耗电量排行是怎么计算某个APP的耗电量的?网上搜了下,都说API没有提供获取应用耗电量的接口或方法,需要通过隐藏类进度读取并计算,但是这种方式太复杂和麻烦了,我所指的复杂和麻烦是我根据网上找的那些方法,把耗电排行弄出来了,但是后面我还需要对应的应用包名,发现却很难取到。唉...&纠结了好多天,实在是无奈啊!求大神们帮帮我吧!
Android应该是有电量的系统广播的&具体可能会有每个app的情况
获取包名的话用packagemanager,可以获取到所有你指定intentfilter的app包名
希望对你有用
大哥!!!麻烦你看清楚再回答行么?这么简单的话还用等你回答么?
不好意思&我手贱了
Q 使用ajax方式提交表单
function simpleAjaxForm(formName, check){
$("#" + formName).ajaxForm({
dataType: "json",
beforeSubmit: function(){
var msg = check ? validator(check) :
if(msg) dialogBox(msg);
return msg ? false :
success: function(ret){
ajaxReturn(ret);
//ajax返回函数
function ajaxReturn(ret) {
if(ret.msg) $.prompt("系统提示", ret.msg, {submit: function(clicked){
if(ret.url) location.href = ret.
else if(ret.url) location.href = ret.
后台返回一个json格式的数据,{"msg":"发送成功","url":"order_apply_list.html"}
正常的话,应该是弹出一个发送成功的对话框,然后点击确定,跳转到order_apply_list.html页面才对
但是老是提示我下载保存
PS:前台表单,包含了附件上传
问题补充:lizhi92574 写道 附件上传采用的是iframe 作为ajax提交。iframe在识别 text/json头文件时会当做文件进行下载。可以吧头文件去了。
response.setContentType("text/ charset=UTF-8");
text/json 还是 application/json
问题补充:lizhi92574 写道
都一样吧他去了,或者改成
response.setContentType("text/html")
我使用的是spring3.0的注解
@ResponseBody
比如 public @RsponseBody Message test(){
&&&&& return new Message("发送成功","url地址");
}
它自动帮我设置成json格式的数据来返回
问题补充:,如何修改响应头部,
问题补充:lizhi92574 写道不清楚,你可以暂时先使用下面代码。直接使用response,
response.setContentType("text/html")
response.getWriter().writer("{msg:''}");
点击提交,数据都插入到数据库了,但是没弹出发送成功的对话框
@RequestMapping(value = "/order_send_offer_user.json")
public void orderSendOfferUser(HttpServletRequest request, HttpSession session ,
HttpServletResponse response) {
//处理业务的代码,省略
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
response.getWriter().write("{msg:'发送成功'}");
catch (IOException e) {
e.printStackTrace();
前台没接受到msg,没有执行function ajaxReturn(ret)
问题补充:lizhi92574 写道吧dataType: "json",& 去了。
function ajaxReturn(ret) {
& ret =&& jQuery.parseJSON(ret); //解析json字符串
}
感谢lizhi92574的热心回答,但是还是行不通
问题补充:lizhi92574 写道ret =&& jQuery.parseJSON(ret); 查看是否是这句出现问题。
jquery对json解析有很严格的限制
需要这种格式
response.getWriter().write("{\"msg\":\"发送成功\"}");
问题已解决:
听你的,dataType : json 注释掉
但是后台传过来的是一个字符串
success: function(ret){
ret = eval("ret = " + ret);//加上这句,转换为对象
ajaxReturn(ret);
这只是针对普通表单域和文件域的表单来使用
其中的原理还不是很清楚,
谢谢lizhi92574
A 不清楚,你可以暂时先使用下面代码。直接使用response,
response.setContentType("text/html")
response.getWriter().writer("{msg:''}");
想做成上面这效果的。。。
&script&src="/Static/zepto.min.js"&&/script&
&script&src="/content/js/base.js?1.0"&&/script&
&&function&ysBaseInfo()&{&&&
&&&&&&&&&&&&$.ajax({
&&&&&&&&&&&&&&&&type:&'GET',
&&&&&&&&&&&&&&&&url:&"/app.ashx?functionId=MYZX_GetDrBaseInfo&action=%7B%22ChannelId%22%3A%22webshare%22%2C%22HospitalId%22%3A%C%22DepId%22%3A%C%22DocId%22%3A%%2C%22Famous%22%3Afalse%7D",
&&&&&&&&&&&&&&&&dataType:&'json',
&&&&&&&&&&&&&&&&data:&{},
&&&&&&&&&&&&&&&&success:&function&(data)&{
&&&&&&&&&&&&&&&&&&&&if&(data.Code&==&0)&{
&&&&&&&&&&&&&&&&&&&&&&&&var&c&=&data.resultV
&&&&&&&&&&&&&&&&&&&&&&&&geren&+=&'&div&class="baseinfo"&&img&src="'&+&c.Img&+&'"&/&&/div&'
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&+&'&&span&class="DocName"&'&+&c.Name&+&'&/span&&span&class="DocTitle"&'&+&c.Degree&+&'&/span&&span&class="HospitalId"&&&/br&'&+&c.HospitalName&+&'&/span&&/div&';
&&&&&&&&&&&&&&&&&&&&&&&&$('.baseinfo').append(geren);
&&&&&&&&&&&&&&&&&&&&&&&&$('.jieshao').text(c.Intro);
&&&&&&&&&&&&&&&&&&&&&&&&var&title&=&c.Name&+&"&"&+&c.D
&&&&&&&&&&&&&&&&&&&&&&&&document.title&=&
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&});
&&&&&&&&&&&&return&
想获取JSON数据总是取不下来,只有原来的HTML做的框架,专家介绍这一栏,没有获取的JSON内容。。。请问为什么或取不下来?是不是缺什么啊?求教啊!详细点哦,拜托啦。。。
跨域了吧,后台做代理
原来这样啊,明白了,谢谢。。服务端不支持JSONP跨域,怎么弄代理啊。。。能教教我嘛?
后台做个页面A去访问数据源前端ajax访问页面A获取数据
Q 这是我的代码(一个简单的jquery的测试):
&%@ page language="java" import="java.util.*" pageEncoding="utf-8"%&
&%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%&
&!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&
&html&
& &head&
&&& &base href="&%=basePath%&"&
&&&
&&& &title&My first jquery test project&/title&
&&&
&meta http-equiv="pragma" content="no-cache"&
&meta http-equiv="cache-control" content="no-cache"&
&meta http-equiv="expires" content="0"&&&&
&meta http-equiv="keywords" content="keyword1,keyword2,keyword3"&
&meta http-equiv="description" content="This is my page"&
&link rel="stylesheet" type="text/css" href="styles.css"&
&script type="text/javascript" src="jquery-latest.js"&&/script&
&script type="text/javascript"&
$()jquery的选择器,创建一个jquery对象,click触发事件,调用js方法function
$(document).ready(function(){
$("a").click(function(){
alert("Hello World!");
/*加CSS样式。。。未遂
& 选择方式#类似于css样式选择器!
& 这里的red为已经定义好的css样式类名
$("#orderUl li:even").addClass("red");
/*鼠标覆盖触发事件*/
$("#orderUl li:last").hover(function(){
$(this).addClass("green");
},function(){
$(this).removeClass("green");
/*find寻找当前标签的子标签,each遍历所有选中的子标签触发事件
html()是为了获取每个li的html文本,而设置li的html文本是在本身html文本的基础上追加内容!
.html()是获取文本,而.html("xxxxxxxxxxxx")是为了赋值!!!
$("#firstUl").find("li").each(function(i){
$(this).html($(this).html()+"I don't understand!& "+i);
/*测试$(this).html的含义*/
$("#secondUl").find("li").eack(function(i){
$(this).html("这是何解?");
/*在没有jquery覆盖的dom对象上加call方法,不甚明白!!!???*/
$("button#Cr").click(function(){
alert("-------------");
$("#myform")[0].reset();
/*实在不知道什么原因,找个button测试下*/
$("button#testButton").click(function(){
alert("这是为什么呢?");
/*filter()和not()
$("li").not("[ul]").css("border","1px solid black").css("color","blue");
$("a[@name]").background("green");
&script type="text/javascript"&
function nan(){
alert("2222");
&style type="text/css"&
background-color:
background-color:
& &/head&
&
& &body style="text-align:"&
&&& &a href="#"&弹出Hello World!&/a&
&&& &br/&
&&& &a name="a1" href="#"&弹出Hello World!&/a&
&&& &br/&
&&& &a href="#"&弹出Hello World!&/a&
&&& &br/&
&&& &ul id="orderUl"&
&&&
&li&背景颜色为红色!!!&/li&
&&&
&li&背景颜色为红色!!!&/li&
&&&
&li&背景颜色为红色!!!&/li&
&&& &/ul&
&&& &br/&
&&& &ul id="firstUl"&
&&&
&li&&/li&
&&&
&li&&/li&
&&&
&li&&/li&
&&& &/ul&
&&& &br/&
&&& &ul id="secondUl"&
&&&
&li&&/li&
&&&
&li&&/li&
&&&
&li&&/li&
&&&
&li&&/li&
&&&
&li&&/li&
&&& &/ul&
&&& &br/&
&&& &form id="myform" action="" method="post"&
&&& &table&
&input type="text"/&
&input id="Cr" type="button" value="清& 空" /&
&&& &/table&
&input type="button" value="测& 试" id="testButton" name="testButton"/&
& &/body&
&/html&
为什么我的button不能触发事件,并且按个跟name属性获得对象的方法也不行啊,帮帮我。。。谢谢啦问题补充2008shucheng 写道$("button[name='testButton']").click(function(){
alert("弹出来了!");
});
我的好像还是不行,是不是前边某一行出问题了,就不向下走了啊?这个button#id的形式不对吗?问题补充風一樣的男子 写道chenkuntian 写道2008shucheng 写道$("button[name='testButton']").click(function(){
alert("弹出来了!");
});
我的好像还是不行,是不是前边某一行出问题了,就不向下走了啊?这个button#id的形式不对吗?
$("input[name='testButton']").bind('click',function(){alert("弹出来了!");});
我的那个$(标签名[属性名]);类似的方法都不能用啊,为什么啊?这个与浏览器有关系吗?问题补充chenkuntian 写道風一樣的男子 写道chenkuntian 写道2008shucheng 写道$("button[name='testButton']").click(function(){
alert("弹出来了!");
});
我的好像还是不行,是不是前边某一行出问题了,就不向下走了啊?这个button#id的形式不对吗?
$("input[name='testButton']").bind('click',function(){alert("弹出来了!");});
我的那个$(标签名[属性名]);类似的方法都不能用啊,为什么啊?这个与浏览器有关系吗?
我用这种方法可以了:$(标签名[@属性名]);为什么啊?是不是和浏览器版本有关?还是和jquery版本有关啊?
A id在DOM文档中表示该元素的唯一标识符,如果一个元素有id一般情况下可直接使用id来定位元素
在jQuery中,使用id来找到元素的语法为
$("#testButton")
jQuery会使用
document.getElementById("testButton")
来从文档中找到id对应的元素,如果前边一定要加上标签名作为选择器的话,jQuery会首先通过document.getElementByTagName("input")来找到所有标签名为tagname的元素,然后再从中找到id为“testButton”的元素,这样其实让jQuery多走了不必要的一步,会降低jQuery的查找效率,所以在使用id来选择元素时,最好不要再添加其他的选择器
楼主问引用我的好像还是不行,是不是前边某一行出问题了,就不向下走了啊?这个button#id的形式不对吗?
这个问题其实很简单"button#id"中的button不是标签名,至少不是楼主页面中所写的标签名,楼主所写的是input标签,所以使用button来作为选择器时是找不到元素的,应该为“input#id”
Q 下面是java代码:
public class Query_supplierb extends BaseAction {
public String getSearchsuptext() {
public void setSearchsuptext(String searchsuptext) {
this.searchsuptext =
private List list=new ArrayList();
public List getList() {
public void setList(List list) {
this.list =
public String execute() throws Exception {
String str=this.getSearchsuptext();
if(str==null||str==""){
hql="from MisSuppliers";
hql="select supplierno,suppliername,saddress,supperphone from MisSuppliers where suppliername like '%"+str+"%'";
this.list=this.iapplicationservice.findsup(hql);
return SUCCESS;
得到得json:
{"jsonString":null,"list":[[43,"大连实业有限公司",null,"136223"],[44,"广州食品有限公司","",""],[45,"北京事业有限公司",null,""]],"searchsuptext":""}
为什么没有键值呢?
别人的json格式:
{
name: "用户列表",
list_id: "编号89757",
&&& table: [
{id: 1, name: 'Rain', age: 22, mail: '},
{id: 2, name: '皮特', age: 24, mail: '},
{id: 3, name: '卡卡', age: 20, mail: '},
{id: 4, name: '戏戏', age: 26, mail: '},
{id: 5, name: '一揪', age: 25, mail: '}
]
}
我的是不是有问题?
&&& 问题补充:注意,我的json数据前没有key啊?别人的有啊!!问题补充:那我还有个问题,就是jquery怎么去接收这些数据呢?可以不可以详细点!!最重要的是list里面的数据怎么让jquery列表显示?问题补充:列表显示的话我知道那个flexgrid,可是目前我是想让这些数据动态的添加到原先存在的表格里!!怎么做用jquery,写个demo吧?问题补充:嗯,我也知道是这样,平常的问题都是自己解决的,没有问过别人,这个问题实在困扰我许久了,没有办法了才问的,因为我基础不好,现在在做课程设计。我试试这个插件吧,或许可以解决问题,谢谢lovewhzlq提供的思想!!也谢谢yantao的提醒
A 这就是一个js对象嘛,如果你懂一点js的话,很容易嘛
var data = {
"jsonString":null,
&&&&&&& [43,"大连实业有限公司",null,"136223"],
&&&&&&& [44,"广州食品有限公司","",""],
&&&&&&& [45,"北京事业有限公司",null,""]
"searchsuptext":""
var list = data['list'];//这样就取到了这个list数组,自己遍历嘛

我要回帖

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

 

随机推荐