`

Java解析Json(org.json,json-lib)

 
阅读更多

 

      在www.json.org上公布了很多Java下的json解析工具,其中org.json和json-lib比较简单,两者使用上差不多。下面两段源代码是分别使用这两个工具解析和构造JSON的演示程序。

 

1.org.json解析Json的过程.json.jar见附件

 

TestJson.java如下:

package com;

import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class TestJson {

	public static void main(String[] args) throws JSONException {
		// 组Json串
		String json = "{\"name\":\"reiz\"}";
		// 根据Json串生成Json对象
		JSONObject jsonObj = new JSONObject(json);
		// 获得name键对应的值.
		String name = jsonObj.getString("name");
		System.out.println(name) ; // 输出 reiz
		
        // 向Json中追加一个R字符串.initial:R
		jsonObj.put("initial", name.substring(0, 1).toUpperCase());

		// 向Json对象中加入对象类型数据(map)
		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);
		
		// 获得Map对象的字符串
        String ingre = jsonObj.getString("ingredients"); 
		System.out.println(ingre) ;
		// 输出 {"apples":"3kg","sugar":"1kg","bestEaten":"outdoors","pastry":"2.4kg"}
		// 把Map对象生成Json对象
		JSONObject jsonIngre = new JSONObject(ingre);
		System.out.println(jsonIngre.getString("apples")) ;  // 输出 3kg
		
		System.out.println(jsonObj);
		// 输出 {"ingredients":{"apples":"3kg","sugar":"1kg","bestEaten":"outdoors","pastry":"2.4kg"},"initial":"R","name":"reiz"}
		
	}
}

 

 

2.利用json-lib实现Json的解析,在网上看到的,留以后使用.见json-lin附件.

 

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);
  }
}

 

 

 

 

 

 

 

 

1
5
分享到:
评论
1 楼 bingoohuang 2012-08-16  
建议用用阿里巴巴温少的fastjson,也挺不错的,iteye上也有介绍。

相关推荐

    json-lib-2.1.jar和struts2-json-plugin-2.1.8.1.jar

    在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列的方法来将Java对象转换为JSON格式,以及将JSON字符串反序列化回Java对象。这个库支持多种Java类型,包括基本类型、集合、Map、自定义Java...

    json-lib-2.4-jdk15.jar下载

    json-lib-2.4-jdk15.jar下载,json-lib是一款简单易用的Java JSON库。它可以将Java对象转换成JSON字符串,也可以将JSON字符串转换成Java对象。json-lib体积小、无依赖,性能表现也不错,适合在各种Java项目中使用。 ...

    json-lib-2.4-jdk15.jar

    json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了一系列API和实现,使得开发人员能够无缝地在Java应用中使用JSON。它支持多种Java对象类型,包括Map、List、Set、自定义Java...

    json-lib.jar

    JSON-lib.jar是Java平台上的一个库,用于处理JSON数据,特别适用于Java开发者在他们的应用程序中实现JSON的序列化和反序列化。 在Java中,处理JSON通常涉及两个主要任务:将Java对象转换为JSON字符串(序列化),...

    json-lib-2.3.jar

    json-lib-2.3.jar是这个库的一个版本,用于支持将Java对象转换成JSON格式和将JSON数据反序列化为Java对象。 标题中提到的"json-lib-2.3.jar"是json-lib库的一个具体实现,主要包含了一系列处理JSON的类和方法。这个...

    json-lib-2.2.3-jdk15.jar

    总的来说,`json-lib-2.2.3-jdk15.jar`是一个适用于Java 1.5环境的JSON处理库,它提供了一整套工具,帮助开发者在Java应用程序中方便地处理JSON数据。尽管现在有更现代的替代品如Gson、Jackson等,但在某些场景下,...

    基于json-lib.jar包 JSONObject-Java常用的四种用法

    `json-lib.jar`是一个流行的Java库,用于处理JSON格式的数据,它提供了丰富的API来操作JSON对象。本文将深入探讨基于`json-lib.jar`包中的`JSONObject`类的四种常用用法。 1. **创建JSONObject** 创建`JSONObject`...

    使用json-lib-2.2.2-jdk15.jar所要用到的jar包

    json-lib-2.2.3-jdk15.jar commons-beanutils-1.7.0.jar commons-httpclient-3.1.jar commons-lang-2.3.jar commons-logging-1.1.1.jar commons-collections-3.2.1.jar ezmorph-1.0.3.jar 如果不关联这些包,则会...

    json-lib-2.4-jdk15及其依赖包

    1、json的核心包:json-lib-2.4-jdk15.jar; 2、json-lib-2.4-jdk15.jar依赖的jar包:commons-beanutils-1.9.3.jar,commons-collections-3.2.2.jar,commons-lang-2.6.jar,commons-logging-1.2.jar,ezmorph-1.0.6...

    json-lib-2.4-jdk15.jar包

    json-lib-2.4-jdk15.jar json-lib-2.4-jdk15-sources.jar json-lib-2.4-jdk15-javadoc.jar 包含文件有:json-lib-2.4-jdk15.jar json-lib-2.4-jdk15-sources.jar json-lib-2.4-jdk15-javadoc.jar

    json-lib-2.2.2-jdk15.jar

    json-lib-2.2.2-jdk15.jar是JSON库的一个版本,特别针对Java 1.5(JDK 1.5)进行了优化。这个压缩包包含了json-lib库的二进制文件,用于在Android和Java平台上解析和生成JSON数据。尽管这个版本是针对JDK 1.5,但...

    json-lib应用所有jar

    JSON-lib是Java平台上的一个库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及从JSON字符串恢复Java对象。这个库在处理JSON数据时非常实用,特别是对于那些需要在服务器端和客户端之间进行数据...

    json-lib-2.3-jdk15基础jar包合辑

    `json-lib-2.3-jdk15`是JSON库的一个特定版本,专为JDK 1.5设计,以确保与该版本的Java环境兼容。 ### JSON Lib简介 JSON Lib是一个Java库,它提供了将Java对象转换为JSON格式,以及将JSON文本解析回等效Java对象的...

    maven中 引入jar报错:Missing artifact net.sf.json-lib:json-lib:jar:2.4

    &lt;groupId&gt;net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib &lt;version&gt;2.4 &lt;classifier&gt;jdk15 或者直接下载这个包

    JSON-lib包json-lib-0.8.jar和json-lib-0.9.jar包

    `json-lib-0.8.jar`是JSON-lib的0.8版本,它可能包含基础的JSON转换功能,如将Java对象转换为JSON字符串,以及反向操作,即将JSON字符串解析回Java对象。此外,它可能还支持JSON数组和JSON对象的创建、读取和修改。...

    ezmorph-1.0.6.jar和json-lib-2.2.2-jdk15.rar

    标题中的"ezmorph-1.0.6.jar"和"json-lib-2.2.2-jdk15.rar"指的是两个不同的Java库,用于处理数据转换和JSON操作。ezmorph是一个Java库,提供了对象到对象的转换功能,而json-lib是另一个库,专门用于处理JSON...

    JAVA解析JSON相关.docx

    标题与描述均提到了“JAVA解析JSON”,这表明文档主要关注的是如何在Java环境中解析JSON数据。JSON(JavaScript Object Notation)是一...尽管如此,掌握`json-lib`的使用仍然是理解JSON解析在Java中的应用的重要一步。

    json-lib-2.4-jdk15.jar及其相关依赖

    `json-lib-2.4-jdk15.jar`是这个库的一个特定版本,适用于JDK 1.5环境。 在Java开发中,`json-lib`库提供了多种将Java对象序列化为JSON字符串的方法,包括: 1. **Java Bean到JSON**: 只需传入一个Java Bean对象,...

    json架包,包好json-lib-2.2.3-jdk13.jar,json-lib-2.4-jdk14.jar以及附带的支持包

    json架包,包好json-lib-2.2.3-jdk13.jar,json-lib-2.4-jdk14.jar以及附带的支持包ezmorph-1.0.6.jar,commons-logging.jar,commons-lang.jar等

Global site tag (gtag.js) - Google Analytics