java怎么定义⼀个json
⼀简介:
JSON(JavaScript对象符号)是⼀种轻量级的数据交换格式。这是很容易为⼈类所读取和写⼊。这是易于机器解析和⽣成。它是基于JavaScript编程语⾔的⼀个⼦集,标准ECMA-262第三版- 1999年12⽉。JSON是⼀个完全独⽴于语⾔的⽂本格式,但使⽤C家族的语⾔,包括C,C + +,C#,Java中的JavaScript,Perl的,Python中,和许多其他程序员所熟悉的约定。这些特性使JSON成为理想的数据交换语⾔。他和map很类似,都是以
键/值对存放的。
⼆ JSON 使⽤须要⽤的JAR包:
commons-lang.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
ezmorph.jar
json-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 this.name+"--"+this.pwd+"--"+this.sex;
}
}
例⼦如下:
import net.sf.json.JSONObject;
public class TestJson {
private static JSONObject json = null;
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:\java>java TestJson
{"id":"1","name":"张三","pwd":"123456"}
通过这段代码我们就能很清淅的看到他的添加元素和map集合⽅式⼀样。
现在我们要将这个json对象放进⼀个JAVABEAN的User对象怎么弄呢?很简单
我们须要在 TestJson 类中的主⽅法中加⼊(放在System.out.println(json)这句话后⾯)
User user = new User();
user.setId(Integer.String("id")));
//String("id")就是通过他的KEY值取得对应的value值
user.String("name"));
user.String("pwd"));
System.out.println(user);
这样我们就把json这个对象⾥的值放进user对象⾥⾯了。
运⾏:
C:\java>java TestJson
{"id":"1","name":"张三","pwd":"123456"}
张三--123456--null
json添加元素除了⽤put();⽅法之外还可以⽤element();如:json.element("11", "222");
2.创建⼀个JSONArray对象,并添加元素:
JSONArray添加元素和list集合⼀样,当然取值也很像,代码如下
JSONArray添加元素和list集合⼀样,当然取值也很像,代码如下
import net.sf.json.*;
public class TestJson1 {
private static JSONObject json = null;
private static JSONArray jsonArray = null;
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.(1));
}
}
输出结果为:
["张三","李四","王五","⼩三"]
李四
注:json的基本格式这些⽹上很多,就不多说了,我们只须记住⼀句话就⾏了:[]表⽰数组,{}表⽰对象就完了!
1.从Object到String
要先⽤Object对象构造⼀个JSONObject或者JSONArray对象,然后调⽤它的toString()⽅法即可
(1)⽰例⼀
Book book=new Book();
book.setName("Java");
book.setPrice(52.3f);
JSONObject object=JSONObject.fromObject(book);
System.out.String());
(2)⽰例⼆
Book book=new Book();
book.setName("Java");
book.setPrice(52.3f);
Book book2=new Book();
book2.setName("C");
book2.setPrice(42.3f);
List list=new ArrayList();
list.add(book);
list.add(book2);
JSONArray arry=JSONArray.fromObject(list);
System.out.String());
/
/结果如下:
[{"name":"Java","price":52.3},{"name":"C","price":42.3}]
2.从String到Object
要先⽤String对象构造⼀个JSONObject或者JSONArray对象
(1)⽰例⼀
String json="{name:'Java',price:52.3}";
JSONObject object=JSONObject.fromObject(json);
System.out.("name")+" "+("price"));
(2)⽰例⼆
java定义一维数组并赋值String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
JSONArray array=JSONArray.fromObject(json);
for(int i=0;i< array.size();i++){
Map o=((i);
System.out.("name")+" "+o.get("price"));
}
3.从String到Bean
(1)单个Bean对象
String json="{name:'Java',price:52.3}";
JSONObject object=JSONObject.fromObject(json);
Product product=(Bean(object,Product.class);
System.out.Name()+" "+Price());
(2).Bean的数组
String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
JSONArray array=JSONArray.fromObject(json);
Product[] products=(Product[]) Array(array,Product.class); for(Product p:products){
System.out.Name()+" "+p.getPrice());
}
⾃定义封装JSON操作的类
package com.util;
import java.util.List;
import java.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);
String();
}
//从Java的列表转换为字符串
public static String getJson(List list){
JSONArray ja=JSONArray.fromObject(list);
String();
}
/
/从Java对象数组转换为字符串
public static String getJson(Object[] arry){
JSONArray ja=JSONArray.fromObject(arry);
String();
}
//从json格式的字符串转换为Map对象
public static Map getObject(String s){
return JSONObject.fromObject(s);
}
//从json格式的字符串转换为List数组
public static List getArray(String s){
return JSONArray.fromObject(s);
}
//从json格式的字符串转换为某个Bean
public static Object getObject(String s,Class cls){
JSONObject jo=JSONObject.fromObject(s);
Bean(jo, cls);
}
//从json格式的字符串转换为某类对象的数组
public static Object getArray(String s,Class cls){
JSONArray ja=JSONArray.fromObject(s);
Array(ja, cls);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论