j**a中json怎么运用?

戏精少年 2024-09-28 01:39:58
最佳回答
一 简介: json(j**ascript对象符号)是一种轻量级的数据交换格式。这是很容易为人类所读取和写入。这是易于机器解析和生成。它是基于j**ascript编程语言的一个子集 , 标准ecma-262第三版- 1999年12月。json是一个完全独立于语言的文本格式,但使用c家族的语言,包括c,c + +,c#,j**a中的j**ascript,perl的,python中,和许多其他程序员所熟悉的约定。这些特性使json成为理想的数据交换语言。他和map很类似,都是以键/值 对存放的。二 json 使用须要用的jar包:commons-lang.jarcommons-beanutils.jarcommons-collections.jarcommons-logging.jarezmorph.jarjson-lib-2.2.2-jdk15.jar三 使用json中的jsonobject:1.创建一个jsonobject对象,并使用put();方法添加元素:首先我们创建一个user对象以备后用:public class user { private int id; private string name; private string pwd; private string sex; //get,set方法 @override //重写他的tostring方法 public string tostring() { return th**.name+"--"+th**.pwd+"--"+th**.sex; }}例子如下:import net.sf.json.jsonobject;public class testjson { private static jsonobject json = **;public static void main(string[] args) {json = new jsonobject();json.put("id","1");json.put("name","张三");json.put("pwd","123456");system.out.println(json);}}运行:c:\j**a>j**a testjson{"id":"1","name":"张三","pwd":"123456"}通过这段代码我们就能很清淅的看到他的添加元素和map集合方式一样。现在我们要将这个json对象放进一个j**abean的user对象怎么弄呢?很简单我们须要在 testjson 类中的主方法中加入(放在system.out.println(json)这句话后面)user user = new user();user.setid(integer.parseint(json.getstring("id")));//json.getstring("id")就是通过他的key值取得对应的value值user.setname(json.getstring("name"));user.setpwd(json.getstring("pwd"));system.out.println(user);这样我们就把json这个对象里的值放进user对象里面了。运行:c:\j**a>j**a testjson{"id":"1","name":"张三","pwd":"123456"}张三--123456--**json添加元素除了用put();方法之外还可以用element();如:json.element("11", "222");2.创建一个jsonarray对象,并添加元素:jsonarray添加元素和l**t集合一样,当然取值也很像,代码如下import net.sf.json.*;public class testjson1 { private static jsonobject json = **; private static jsonarray jsonarray = **; public static void main(string[] args) { jsonarray = new jsonarray (); jsonarray.add(0, "张三"); jsonarray.add(1, "李四"); jsonarray.add(2, "王五"); jsonarray.add(3, "小三"); system.out.println(jsonarray); system.out.println(jsonarray.get(1)); } } 输出结果为:["张三","李四","王五","小三"]李四注:json的基本格式这些网上很多,就不多说了,我们只须记住一句话就行了:[]表示数组,{}表示对象就完了!1.从object到string 要先用object对象构造一个jsonobject或者jsonarray对象,然后调用它的tostring()方法即可(1)示例一 book book=new book(); book.setname("j**a"); book.setprice(52.3f); jsonobject object=jsonobject.fromobject(book); system.out.println(object.tostring());(2)示例二 book book=new book(); book.setname("j**a"); book.setprice(52.3f); book book2=new book(); book2.setname("c"); book2.setprice(42.3f); l**t l**t=new arrayl**t(); l**t.add(book); l**t.add(book2); jsonarray arry=jsonarray.fromobject(l**t); system.out.println(arry.tostring()); //结果如下: [{"name":"j**a","price":52.3},{"name":"c","price":42.3}]2.从string到object 要先用string对象构造一个jsonobject或者jsonarray对象(1)示例一 string json="{name:'j**a',price:52.3}"; jsonobject object=jsonobject.fromobject(json); system.out.println(object.get("name")+" "+object.get("price")); (2)示例二 string json="[{name:'j**a',price:52.3},{name:'c',price:42.3}]"; jsonarray array=jsonarray.fromobject(json); for(int i=0;i< array.size();i++){ map o=(map)array.get(i); system.out.println(o.get("name")+" "+o.get("price")); }3.从string到bean(1)单个bean对象 string json="{name:'j**a',price:52.3}"; jsonobject object=jsonobject.fromobject(json); product product=(product)jsonobject.tobean(object,product.class); system.out.println(product.getname()+" "+product.getprice()); (2).bean的数组 string json="[{name:'j**a',price:52.3},{name:'c',price:42.3}]"; jsonarray array=jsonarray.fromobject(json); product[] products=(product[]) jsonarray.toarray(array,product.class); for(product p:products){ system.out.println(p.getname()+" "+p.getprice()); }自定义封装json操作的类 package com.util; import j**a.util.l**t; import j**a.util.map; import net.sf.json.jsonarray; import net.sf.json.jsonobject; public class jsonhelper { //从普通的bean转换为字符串 public static string getjson(object o){ jsonobject jo=jsonobject.fromobject(o); return jo.tostring(); } //从j**a的列表转换为字符串 public static string getjson(l**t l**t){ jsonarray ja=jsonarray.fromobject(l**t); return ja.tostring(); } //从j**a对象数组转换为字符串 public static string getjson(object[] arry){ jsonarray ja=jsonarray.fromobject(arry); return ja.tostring(); } //从json格式的字符串转换为map对象 public static map getobject(string s){ return jsonobject.fromobject(s); }//从json格式的字符串转换为l**t数组 public static l**t getarray(string s){ return jsonarray.fromobject(s); } //从json格式的字符串转换为某个bean public static object getobject(string s,class cls){ jsonobject jo=jsonobject.fromobject(s); return jsonobject.tobean(jo, cls); } //从json格式的字符串转换为某类对象的数组 public static object getarray(string s,class cls){ jsonarray ja=jsonarray.fromobject(s); return jsonarray.toarray(ja, cls); } } 20210311
汇率兑换计算器

类似问答
  • 自学 j**a 怎么入门?
    • 2024-09-28 15:48:45
    • 提问者: 未知
    在软件开发中也有二八原则,少数的api能够胜任开发中的大部分场景。...j**a持久化api),定义了对象关系映射(object relation mapping,orm)以及实体对象持久化的标准接口。...
  • **银行奥运**怎么样?
    • 2024-09-28 03:46:30
    • 提问者: 未知
    中银v**a奥运**是全球惟一一张印有**印的奥运**,同时也引作为符合国际标准的人民币**。中银v**a奥运**具备中银标准**的基本功能与服务,包括先消费后...
  • 零基础怎么学j**a?
    • 2024-09-28 15:28:10
    • 提问者: 未知
    大大们推一些书籍被,自学成才
  • 用j**a开发银行系统要运用到哪些技术
    • 2024-09-28 15:51:47
    • 提问者: 未知
    兄弟,问题太大了。没头没尾的
  • j**a中什么是非静态方法
    • 2024-09-28 16:47:43
    • 提问者: 未知
    用static修饰的方法叫静态方法 那么不用它修饰的当然就是非静态方法了,非静态方法需要创建对象并初始化后才可以使用。
  • mysql中decimal(15,4)类型,j**a使用什么类型来定义?
    • 2024-09-28 04:18:51
    • 提问者: 未知
    可以用这个j**a.math.bigdecimal
  • 在myeclipse2014中j**a怎么将l**t转换成json
    • 2024-09-28 00:06:52
    • 提问者: 未知
    第一步肯定是导包了然后参考下面/*** 模拟生成8只股票的价格信息,* 然后,将这些信息转换成json字符串并发送给客户端*/l**t<stock> stocks = new arrayl**t<stock>();random r = new random();decimalformat df = new decimalformat("#.##");fo...
  • 如何用j**a读取图中dat文件不乱码
    • 2024-09-28 12:00:39
    • 提问者: 未知
    以二进制方式,没有乱码一说,读取到的就是一字节流(字节数组)。
  • 如何用json来分割
    • 2024-09-28 11:12:46
    • 提问者: 未知
    这个json不太标准, 比如key没加引号, js处理没问题, 其他语言就看json库是不是兼容非标准了。 你可以拿pyv8封一个函数, 把这个字符窜当object传进去做一个json.stringify, 再吐给python的json库解。
  • j**a和j**a se有什么区别?
    • 2024-09-28 20:53:39
    • 提问者: 未知
    j**a是统称。j**ase是里面的某一个方向。j**ase通俗的将是开发软件的,比如**、部分电脑上的软件,还有一种j**aee通俗的讲是开发网站的。你应该只会接触到这2种
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。