java json添加属性和值

java json添加属性和值,第1张

var s={"上海":["浦东"],"四川":["成都","攀枝花"],"福建":["福州","厦门","泉州"]}

s.push({

"江苏":["南京"]

})

我写的是js里的处理方法,这样插入进去实在最后,与你的顺序不太符合好像,你可以自己调整一下,java里我没有试,好像是add..方法,你找一下

json一般都是配合ajax一起使用的 我做做过的小例子 粘给你 你可以研究一下

js部分

//获取卡的金额

function get_money(){

var str=document.getElementById("pk_card_type").value

//alert(str)

var url = '/member_h.do'

var pars = 'method=getMoney'

pars+='&pk_card_type='+str

var ajax = new Ajax.Request(

url,

{method:'post',parameters:pars,onComplete:show_money}

)

}

//回调函数 写入卡的金额

function show_money(dataResponse)

{

var data = eval('(' + dataResponse.responseText + ')')

var price=0

price=data.price

var collection_fees=0

collection_fees=data.collection_fees

document.getElementById("recharge").value=price

document.getElementById("collection_fees").value=collection_fees

}

action部分

public ActionForward getMoney(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) {

response.setContentType("text/htmlcharset=utf-8")

try {

IElementaryFileService ggsv = new ElementaryFileService()

String pk_card_type = request.getParameter("pk_card_type")

Card_TypeVO ctvo=new Card_TypeVO()

ctvo=ggsv.queryByPK(Card_TypeVO.class, pk_card_type)

PrintWriter out = response.getWriter()

// 这里的数据拼装一般是从数据库查询来的

JSONObject jsonObject = new JSONObject()

if(ctvo!=null){

jsonObject.put("price", ctvo.getCard_money())

jsonObject.put("collection_fees", ctvo.getCash())

}else{

jsonObject.put("price", 0)

jsonObject.put("collection_fees", 0)

}

out.print(jsonObject.toString())

out.flush()

out.close()

return null

} catch (Exception e) {

e.printStackTrace()

return null

}

}

1、遍历 json 对象属性

//定义json对象 var person= { name: 'zhangsan', pass: '123', fn: function(){ alert(this.name+"的密码="+this.pass)} } //遍历person属性包括方法,如果不想显示出方法,可用typeof(person[item])== "function"来判断 for(var item in person){ alert("person中"+item+"的值="+person[item]) }

2、动态为 json对象 添加属性

需要 使用1中的 person对象

var copyPerson={} //创建copyPerson对象,将person中的属性包括方法copy给该对象 for(var item in person){ copyPerson[item]= person[item] //这样循环就可以将person中的属性包括方法copy到copyPerson中了 } for(var item in copyPerson){ alert("copyPerson中"+item+"的值="+person[item]) }

注意:使用 Ext.apply(copyPerson, person) 也可以 将person中的所有属性包括方法 copy到 copyPerson中

3、遍历 普通js对象的 属性

//定义一个普通的js类,包含方法 var p= function (){ this.name= '李四' this.pass= '456' this.fn= function(){alert(this.name+"的密码="+this.pass) } } var pp= new p() //生成一个p类的对象 pp for(var item in pp){ //遍历pp对象中的属性,只显示出 非函数的 属性,注意不能 遍历 p这个类 if(typeof(pp[item])== "function")continue alert("p对象中"+item+"的属性="+pp[item]) }

普通的 js对象 也可以copy,copy方法和 2.动态为 json对象 添加属性 思路一样。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11568790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存