JSON初识

本文介绍JSON数据格式的特点及其在Java中的两种常见解析方式:org.json与json-lib。对比了这两种工具的优缺点,并提供了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是JSON?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
这里我个人是用的org.json,起码比json-lib 要导那么多包好,烦人。去网上下载的是.zip格式的,里面是.JAVA文件,怎样变成jar,导入到项目的lib中呢. 以下是我的做法:
  eclipse新建JAVA项目,将json.zip里面的org目录整个拷贝到新建项目test的src 目录下。然后导出为.jar包,步骤见:http://www.java2000.net/p477
//在www.json.org上公布了很多Java下的json解析工具,其中org.json和json-lib比较简单,两者使用上差不多。下面两段源代码是分别使用这两个工具解析和构造//JSON的演示程序。   
//这是使用json-lib的程序:   
import java.util.HashMap;   
import java.util.Map;   
  
import net.sf.json.JSONObject;   
  
public class Test {   
  
    public static void main(String[] args) {   
        String json = "{\"name\":\"reiz\"}";   
        JSONObject jsonObj = JSONObject.fromObject(json);   
        String name = jsonObj.getString("name");   
        
        jsonObj.put("initial", name.substring(0, 1).toUpperCase());   
  
        String[] likes = new String[] { "JavaScript", "Skiing", "Apple Pie" };   
        jsonObj.put("likes", likes);   
  
        Map <String, String> ingredients = new HashMap <String, String>();   
        ingredients.put("apples", "3kg");   
        ingredients.put("sugar", "1kg");   
        ingredients.put("pastry", "2.4kg");   
        ingredients.put("bestEaten", "outdoors");   
        jsonObj.put("ingredients",ingredients);   
        
        System.out.println(jsonObj);   
    }   
}   
//这是使用org.json的程序:   
import java.util.HashMap;   
import java.util.Map;   
  
import org.json.JSONException;   
import org.json.JSONObject;   
  
public class Test {   
  
    public static void main(String[] args) throws JSONException {   
        String json = "{\"name\":\"reiz\"}";   
        JSONObject jsonObj = new JSONObject(json);   
        String name = jsonObj.getString("name");   
  
        jsonObj.put("initial", name.substring(0, 1).toUpperCase());   
  
        String[] likes = new String[] { "JavaScript", "Skiing", "Apple Pie" };   
        jsonObj.put("likes", likes);   
  
        Map <String, String> ingredients = new HashMap <String, String>();   
        ingredients.put("apples", "3kg");   
        ingredients.put("sugar", "1kg");   
        ingredients.put("pastry", "2.4kg");   
        ingredients.put("bestEaten", "outdoors");   
        jsonObj.put("ingredients", ingredients);   
        System.out.println(jsonObj);   
  
        System.out.println(jsonObj);   
    }   
}  
 
两者的使用几乎是相同的,但org.json比json-lib要轻量得多,前者没有任何依赖,而后者要依赖ezmorph和commons的lang、logging、beanutils、collections等组件。
参考资料:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值