首页 > 编程知识 正文

jsonarray取值,json和ajax的关系

时间:2023-05-06 13:48:17 阅读:60937 作者:1519

要使用JSONObject和JSONArray,必须添加以下jar包:

commons-beanutils.jar

commons-collections.jar

commons-lang.jar

commons-logging.jar

ezmorph.jar

json-lib.jar

publicclassjsontest { publicstaticvoidmain (string args [ ] ) JSONObject对象jsonobjectjsonobject=newjsonobject ); Jonobject.put(key1,value1); Jonobject.put(key2)、value2); Jonobject.put(key3,value3); Jonobject.put(key4,value4); system.out.println (JSON对象: ) JSON对象); JSONArray对象jsonarrayjsonarray=newjsonarray (); JonArray.add(value1); JonArray.add(value2); JonArray.add(value3); JonArray.add(value4); 系统. out.println (JSONArray : ) JSON array ); //Map为JSONObjectMapString,String map=new HashMapString,String (; map.put('key1)、' value1); map.put(key2)、) value2); map.put(key3 )、) value3); map.put('key4)、' value4); 系统. out.println (JSON object 2: ) JSONobject.fromobject(map ); //List表示jsonarrayliststringlist=newarrayliststring (; list.add(value1); list.add(value2); list.add(value3); system.out.println (JSON array 23360 ) JSONArray.fromobject ) list ); //JsonArray分析map并将整个json对象放入数组中。 system.out.println (jsonarrayfrommap 3360 ) JSON array.from object (map ) ); 将JSONObject转换为jsonarrayjsonobjectjsonobject3=newjsonobject (); jsonObject3.put (名字,粗笨的鸵鸟); jsonObject3.put ('年龄',' 13 ' ); jsonObject3.put ('身高',' 166 ' ); system.out.println('JSONobject为JSON array : ' JSON array.from object ) JSONObject ); }

打印结果:

Jon object 3360 { ' key4' : ' value4',' key3':'value3',' key2':'value2',' key1' : ' value1'

jsonArray:['value1'、' value2'、' value3'、' value4']

Jon object 2: { ' key4' : ' value4',' key3':'value3',' key2':'value2',' key1' : ' value 1

jsonArray2:['value1'、' value2'、' value3']

jonarrayfrommap : [ { ' key4' : ' value4',' key3':'value3',' key2': ',' key1':']

将JSONObject列入JsonArray:[{ '姓名' : '粗疏鸵鸟','身高' :'166 ','年龄' :'13'}]

以下总结了put、accumulate、element的差异。

publicobjectput (对象密钥,对象值) )将值映射到密钥下。 如果value在此JSONObject对象之前位于此key下,则当前value将替换前面的value

jsonobjectjsonobject=newjsonobject (; Jonobject.put(key1,value1); Jonobject.put(key2)、value2); Jonobject.put(key2)、value2); Jonobject.put(key4,value4); system.out.println (JSON对象: ) JSON对象);

输出: JSON object : { ' key4' : ' value4'、' key2':'value2'、' key1':'value1'}表明key2已被覆盖

publicjsonobjectaccumulate (字符串密钥,对象值) )在该密钥下累积值。 此方法与element ) )方法类似,但是如果value当前存在于此key下,则JSONArray将保存在此key中,并保存所有累积的value。 如果JSONArray已存在,则将当前value添加到此JSONArray中。 相比之下,replace方法将替换以前的value。 代码如下

jsonobjectjsonobject=newjsonobject (; Jonobject.accumulate('key1',' value1); Jonobject.accumulate('key2)、' value2); Jonobject.accumulate('key2)、' value2); Jonobject.accumulate('key4',' value4); system.out.println (JSON对象: ) JSON对象);

输出: JSON object : { ' key4' : ' value4',' key2':['value2',' value2'],' key1':'value1'},累积

publicjsonobjectelement (字符串键,对象值) )将键-值对置于此JSON对象中。 如果此key存在,且当前值为空,则此key将被删除。 如果此key前面有value值,则此方法调用accumulate ()方法。 这是官方文档的一种说法,但我们在做实验时发现,没有调用accumulate ()方法,重复key后可以直接覆盖。 代码如下。

jsonobjectjsonobject=newjsonobject (; JSONobject.element('key1',' value1); JSONobject.element('key2',' value2' ); JSONobject.element('key2',' value2' ); JSONobject.element('key2',' value4); system.out.println (JSON对象: ) JSON对象); 输出: JSON object : { ' key2' : ' value4',' key1':'value1'},key已覆盖且未累积。

真的项目中的代码:

JSON array JSON array=new JSON array (; span style=' white-space : pre '/span for (string temp : unique set (jsonobjectjson=newjsonobject ); JSON.accumulate('saccount ',temp ); JSON.accumulate('num ',collections.Frequency ) ) cardnumlist,temp ); JSONArray.Element(JSON; }system.out.println(JSONArray ); response.getWriter ().print ) ) JSONArray;

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。