java小白的学习记录......
1. Json 简介+教程
看看Json介绍,并 点击【亲自试一试】,通过网站的编辑器练手。
2. eclipse,在java中使用json
1)下载6个包:
我下载完如下:
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);
}
}