[java][46]Json初学

java小白的学习记录......

1. Json 简介+教程

链接:Json教程( W3 school )

看看Json介绍,并 点击【亲自试一试】,通过网站的编辑器练手。 


2. eclipse,在java中使用json

1)下载6个包:

链接:json-lib.jar开发包及依赖包的下载地址 

我下载完如下:


2)导入包到工程

eclipse中右键java工程, 新建文件夹 jason_jar -> 复制6个包 粘贴到jason_jar文件夹;

逐个  右键 jar包 -> Build Path -> 添加到此工程。

也可参考 Eclipse中导入外部jar包


注意 :

包的版本号,切不可随意下载。

本人一开始未注意版本号,有些直接下载了最新的,报java.lang.NoClassDefFoundError等等许多错误。

找错很费时,请教大神,一下就发现了因为jar包不匹配。

后来,改为上述规定的版本号,就ok了 (如 4.X改成3.X )。


3. 在java中使用Json

原文链接:浅谈Json在java中的使用

文中提供了多个例子,本人尝试后做了一些改。

User类:

package json.mydemo;

public class User
{
	private int age;
	private String name;
	private int id;
	public int getAge()
	{
		return age;
	}
	public void setAge(int age)
	{
		this.age = age;
	}
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}
	public int getId()
	{
		return id;
	}
	public void setId(int id)
	{
		this.id = id;
	} 

	
}

1)对于例1--将Json数组/对象转换为字符串

修改代码:

       String str_ = jo.toJSONString();

       String strs_ = ja.toJSONString();

为:

       String str_ = jo.toString();

       String strs_ = ja.toString();

/*
 * https://blog.csdn.net/u014242422/article/details/53414212
 * Json类型的数据一般是 JSONObject(对象),JSONArray(数组)。
 */
package json.mydemo;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class Json1
{
	public static void main(String[] args) throws Exception
	{
		//定义一个Json对象
        JSONObject jo = new JSONObject();
        jo.put("id", "1");
        jo.put("name", "yang");
        jo.put("age", "13");

        //定义一个Json数组
        JSONArray ja = new JSONArray();
        ja.add(0, "yang");
        ja.add(1,"li");
        ja.add(2, "zhang");

        System.out.println("json对象的格式:"+jo);
        System.out.println("json数组的格式:"+ja);

        //使用类自带的方法来转换成String类型
        String str_ = jo.toString();
        String strs_ = ja.toString();

        System.out.println("json对象-->String"+str_);
        System.out.println("json数组-->String"+strs_);
	}
}

2)对于例2 -- 将各种类型转换为json字符串

  2.1)下载 gson-2.2.4.jar,并导入项目。

  2.2) 修改代码

        String stra = GsonUtil.GsonString(user);
        String strb = GsonUtil.GsonString(hashMap);

        String strc = GsonUtil.GsonString(li);

 为:

        String stra = JSONUtils.valueToString(user);
        String strb = JSONUtils.valueToString(hashMap);

        String strc = JSONUtils.valueToString(li);

/*
 * https://blog.csdn.net/u014242422/article/details/53414212
 * a.将各种类型装换成Json类型字符串
 */
package json.mydemo;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import net.sf.json.JSON;
import net.sf.json.util.JSONUtils;

public class Json2
{
	public static void main(String[] args)
	{
		//创建一个User对象(name,age,id)
        User user = new User();
        user.setAge(22);
        user.setName("张三");
        user.setId(33);           
        
        Map<String,Object> hashMap=new HashMap<String,Object>();
        hashMap.put("name","ZhuLi");
        hashMap.put("age", "30");
        hashMap.put("id", "4");
        
        //向List中放入数据   
        List li=new ArrayList();
        li.add(0, "123");
        li.add(1,"444");  
        li.add(hashMap); 
        
        //将List,Map,Bean---->json类型字符串  
        String stra = JSONUtils.valueToString(user);
        String strb = JSONUtils.valueToString(hashMap);
        String strc = JSONUtils.valueToString(li);

        System.out.println("Bean-->String结果:"+stra);
        System.out.println("Map-->String结果:"+strb);
        System.out.println("List-->String结果"+strc);
   
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值