`

JSON — json-lib ——— java与json互转 实例代码片断(一)

阅读更多

http://json-lib.sourceforge.net/snippets.html#Creating%20a%20JSONArray%20from%20a%20JSON%20formatted%20string

From Java to JSON

Creating a JSONObject from scratch

  1. JSONObject jsonObject = new JSONObject()   
  2.                               .element( "string""JSON" )   
  3.                               .element( "integer""1" )   
  4.                               .element( "double""2.0" )   
  5.                               .element( "boolean""true" );   
  6. assertEquals( "JSON", jsonObject.getString("string") );         
  7. assertEquals( 1, jsonObject.getInt("integer") );         
  8. assertEquals( 2.0d, jsonObject.getDouble("double"), 0d );         
  9. assertTrue( jsonObject.getBoolean("boolean") );         
[Index|From Java to JSON]

Creating a JSONObject from a JSON formatted string

  1. String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";   
  2. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );   
  3. assertEquals( "JSON", jsonObject.getString("string") );         
  4. assertEquals( 1, jsonObject.getInt("integer") );         
  5. assertEquals( 2.0d, jsonObject.getDouble("double"), 0d );         
  6. assertTrue( jsonObject.getBoolean("boolean") );         
[Index|From Java to JSON]

Creating a JSONObject from a Map

  1. Map map = new HashMap();   
  2. map.put( "string""JSON" );   
  3. map.put( "integer""1" );   
  4. map.put( "double""2.0" );   
  5. map.put( "boolean""true" );   
  6. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( map );   
  7. assertEquals( "JSON", jsonObject.getString("string") );         
  8. assertEquals( 1, jsonObject.getInt("integer") );         
  9. assertEquals( 2.0d, jsonObject.getDouble("double"), 0d );         
  10. assertTrue( jsonObject.getBoolean("boolean") );         
[Index|From Java to JSON]

Creating a JSONObject from a JavaBean

  1. public class MyJavaBean {   
  2.    private String string;   
  3.    private int integer;   
  4.    private double dooble;   
  5.    private boolean bool;   
  6.   
  7.    // getters & setters   
  8. }   
  9.   
  10. MyJavaBean bean = new MyJavaBean();   
  11. bean.setString( "JSON" );   
  12. bean.setInteger( 1 );   
  13. bean.setDooble( 2.0d );   
  14. bean.setBool( true );   
  15. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( bean );   
  16. assertEquals( "JSON", jsonObject.getString("string") );         
  17. assertEquals( 1, jsonObject.getInt("integer") );         
  18. assertEquals( 2.0d, jsonObject.getDouble("dooble"), 0d );         
  19. assertTrue( jsonObject.getBoolean("bool") );         
[Index|From Java to JSON]

Creating a JSONArray from scratch

  1. JSONArray jsonArray = new JSONArray()   
  2.                               .element( "JSON" )   
  3.                               .element( "1" )   
  4.                               .element( "2.0" )   
  5.                               .element( "true" );   
  6. assertEquals( "JSON", jsonArray.getString(0) );         
  7. assertEquals( 1, jsonArray.getInt(1) );         
  8. assertEquals( 2.0d, jsonArray.getDouble(2), 0d );         
  9. assertTrue( jsonArray.getBoolean(3) );         
[Index|From Java to JSON]

Creating a JSONArray from a JSON formatted string

  1. String str = "['JSON', 1, 2.0, true]";   
  2. JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( str );   
  3. assertEquals( "JSON", jsonArray.getString(0) );         
  4. assertEquals( 1, jsonArray.getInt(1) );         
  5. assertEquals( 2.0d, jsonArray.getDouble(2), 0d );         
  6. assertTrue( jsonArray.getBoolean(3) );         
[Index|From Java to JSON]

Creating a JSONArray from a Collection

  1. List list = new ArrayList();   
  2. list.add( "JSON" );   
  3. list.add( "1" );   
  4. list.add( "2.0" );   
  5. list.add( "true" );   
  6. JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( list );   
  7. assertEquals( "JSON", jsonArray.getString(0) );         
  8. assertEquals( 1, jsonArray.getInt(1) );         
  9. assertEquals( 2.0d, jsonArray.getDouble(2), 0d );         
  10. assertTrue( jsonArray.getBoolean(3) );         
[Index|From Java to JSON]

Creating a JSONArray from an array

  1. Object[] array = new Object[]{ "JSON""1""2.0""true" };   
  2. JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( array );   
  3. assertEquals( "JSON", jsonArray.getString(0) );         
  4. assertEquals( 1, jsonArray.getInt(1) );         
  5. assertEquals( 2.0d, jsonArray.getDouble(2), 0d );         
  6. assertTrue( jsonArray.getBoolean(3) );         
[Index|From Java to JSON]

JavaScript functions

  1. String str = "{'func': function( param ){ doSomethingWithParam(param); }}";   
  2. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );   
  3. JSONFunction func = (JSONFunction) jsonObject.get("func");   
  4. ArrayAssertions.assertEquals( new String[]{"param"}, func.getParams() );   
  5. assertEquals( "doSomethingWithParam(param);", func.getText() );   
[Index|From Java to JSON]

Exclude properties

  1. String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";   
  2. JsonConfig jsonConfig = new JsonConfig();   
  3. jsonConfig.setExcludes( new String[]{ "double""boolean" } );   
  4. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str, jsonConfig );   
  5. assertEquals( "JSON", jsonObject.getString("string") );         
  6. assertEquals( 1, jsonObject.getInt("integer") );         
  7. assertFalse( jsonObject.has("double") );      
  8. assertFalse( jsonObject.has("boolean") );      
[Index|From Java to JSON]

Exclude properties (with filters)

  1. String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";   
  2. JsonConfig jsonConfig = new JsonConfig();   
  3. jsonConfig.setJsonPropertyFilter( new PropertyFilter(){     
  4.    public boolean apply( Object source, String name, Object value ) {     
  5.       if"double".equals(value) || "boolean".equals(value) ){     
  6.          return true;     
  7.       }     
  8.       return false;     
  9.    }     
  10. });     
  11. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str, jsonConfig );   
  12. assertEquals( "JSON", jsonObject.getString("string") );         
  13. assertEquals( 1, jsonObject.getInt("integer") );         
  14. assertFalse( jsonObject.has("double") );      
  15. assertFalse( jsonObject.has("boolean") );      
[Index|From Java to JSON]

From JSON to Java

JSONObject to DynaBean

  1. String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";   
  2. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( str );   
  3. DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );   
  4. assertEquals( "JSON", bean.get("string") );         
  5. assertEquals( new Integer(1), bean.get("integer") );         
  6. assertEquals( new Double(2.0), bean.get("double") );         
  7. assertEquals( Boolean.TRUE, bean.get("boolean") );      
[Index|From JSON to Java]

JSONObject to JavaBean

  1. public class MyJavaBean {   
  2.    private String string;   
  3.    private int integer;   
  4.    private double dooble;   
  5.    private boolean bool;   
  6.   
  7.    // getters & setters   
  8. }   
  9.   
  10. MyJavaBean bean = new MyJavaBean();   
  11. bean.setString( "JSON" );   
  12. bean.setInteger( 1 );   
  13. bean.setDooble( 2.0d );   
  14. bean.setBool( true );   
  15. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( bean );   
  16. JsonConfig jsonConfig = new JsonConfig();   
  17. jsonConfig.setRootClass( MyJavaBean.class );   
  18. MyJavaBean bean2 = (MyJavaBean) JSONSerializer.toJava( jsonObject, jsonConfig );   
  19. assertNotNull( bean2 );   
  20. assertEquals( "JSON", bean2.getString() );   
  21. assertEquals( 1, bean2.getInteger() );   
  22. assertEquals( 2.0d, bean2.getDooble(), 0d );   
  23. assertTrue( bean2.getBool() );   
[Index|From JSON to Java]

JSONArray to List

  1. List input = new ArrayList();   
  2. input.add( "JSON" );   
  3. input.add( "1" );   
  4. input.add( "2.0" );   
  5. input.add( "true" );   
  6. JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( input );   
  7. List output = (List) JSONSerializer.toJava( jsonArray );   
  8. ArrayAssertions.assertEquals( input, output );   
[Index|From JSON to Java]

JSONArray to array

  1. List input = new ArrayList();   
  2. input.add( "JSON" );   
  3. input.add( "1" );   
  4. input.add( "2.0" );   
  5. input.add( "true" );   
  6. JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( input );   
  7. JsonConfig jsonConfig = new JsonConfig();   
  8. jsonConfig.setArrayMode( JsonConfig.MODE_OBJECT_ARRAY );   
  9. Object[] output = (Object[]) JSONSerializer.toJava( jsonArray, jsonConfig );   
  10. Object[] expected = new Object[]{ "JSON""1""2.0""true" };   
  11. ArrayAssertions.assertEquals( expected, output);   
[Index|From JSON to Java]

JSONArray to array (type conversion)

  1. List input = new ArrayList();   
  2. input.add( "1" );   
  3. input.add( "2" );   
  4. input.add( "3.0" );   
  5. JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON( input );   
  6. JsonConfig jsonConfig = new JsonConfig();   
  7. jsonConfig.setArrayMode( JsonConfig.MODE_OBJECT_ARRAY );   
  8. jsonConfig.setRootClass( Integer.TYPE );   
  9. int[] output = (int[]) JSONSerializer.toJava( jsonArray, jsonConfig );   
  10. int[] expected = new int[]{ 123 };   
  11. ArrayAssertions.assertEquals( expected, output);   
[Index|From JSON to Java]

JSONObject to JavaBean, exclude properties with filters

  1. public class MyJavaBean {   
  2.    private String string;   
  3.    private int integer;   
  4.    private double dooble = 0d;   
  5.    private boolean bool;   
  6.   
  7.    // getters & setters   
  8. }   
  9.   
  10. MyJavaBean bean = new MyJavaBean();   
  11. bean.setString( "JSON" );   
  12. bean.setInteger( 1 );   
  13. bean.setDooble( 2.0d );   
  14. bean.setBool( true );   
  15. JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( bean );   
  16. JsonConfig jsonConfig = new JsonConfig();   
  17. jsonConfig.setRootClass( MyJavaBean.class );   
  18. jsonConfig.setJavaPropertyFilter( new PropertyFilter(){     
  19.    public boolean apply( Object source, String name, Object value ) {     
  20.       if"bool".equals( name ) || "dooble".equals( name ) ){     
  21.          return true;     
  22.       }     
  23.       return false;     
  24.    }     
  25. });    
  26. MyJavaBean bean2 = (MyJavaBean) JSONSerializer.toJava( jsonObject, jsonConfig );   
  27. assertNotNull( bean2 );   
  28. assertEquals( "JSON", bean2.getString() );   
  29. assertEquals( 1, bean2.getInteger() );   
  30. assertEquals( 0d, bean2.getDooble(), 0d );   
  31. assertFalse( bean2.getBool() );   
[Index|From JSON to Java]
分享到:
评论

相关推荐

    json-lib-2.4-jdk15.jar下载

    1. 简单易用:json-lib的API简单易于使用,一般只需要一行或两行代码就可以完成Java对象和JSON的相互转换。 2. 支持对象图:可以将复杂的对象层次结构与JSON相互转换,支持List、Map、数组等类型。 3. 支持注解:支持@...

    使用json-lib实现json与Java对象的互转

    要使用 `json-lib` 实现 JSON 与 Java 对象的互转,首先需要在项目中引入该库。如果你使用的是 Maven,可以在 `pom.xml` 文件中添加如下依赖: ```xml <groupId>net.sf.json-lib</groupId> <artifactId>json-lib...

    json-lib-2.4-jdk15.jar

    json-lib是一个Java库,它提供了一种方便的方式来序列化和反序列化Java对象为JSON格式,以及将JSON数据转换回Java对象。 json-lib-2.4-jdk15.jar是json-lib的一个特定版本,适用于JDK 1.5环境。这个版本的库包含了...

    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.3-jdk15基础jar包合辑

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

    json-lib-2.4和相应的依赖包

    JSON库如json-lib-2.4是Java开发者在处理JSON数据时的重要工具,它提供了一系列API,使得JSON与Java对象之间的转换变得更加简单。本文将深入探讨json-lib-2.4及其在Java开发中的应用。 首先,json-lib-2.4是一个...

    json-lib-2.2.3-jdk15.jar

    JSON-lib是一个Java库,它提供了将Java对象转换为JSON表示以及从JSON文本反序列化回Java对象的功能。该库名为`json-lib-2.2.3-jdk15.jar`,特别针对Java 1.5版本进行了优化。 JSON-lib的主要特点和功能包括: 1. *...

    json-lib-2.4-jdk15和全部依赖jar包

    2. **XML与JSON互转**:除了基本的Java对象与JSON之间的转换,`json-lib`还提供了XML到JSON以及JSON到XML的转换功能,使得两种数据交换格式可以无缝对接。 3. **支持多种数据类型**:`json-lib`不仅支持基本的数据...

    JSON Schema 生成库——json-schema-inferrer(java版).rar

    `json-schema-inferrer`是针对Java平台的一个工具库,它的主要功能是从JSON实例数据生成对应的JSON Schema,方便开发者快速构建符合规范的数据模型。 `json-schema-inferrer`库的使用可以分为以下几个关键知识点: ...

    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 Schema 校验库——json-schema-validator(java版本).rar

    在给定的压缩包中,`JSON Schema 校验库——json-schema-validator(java版本).pdf`可能是该库的使用指南或API文档,可以帮助开发者深入理解如何在Java项目中有效利用`json-schema-validator`进行JSON数据验证。...

    json-lib-2.2.2-jdk15.jar

    2. **XML与JSON互转**:json-lib还支持XML与JSON之间的转换,这在处理不同数据格式时非常有用。 3. **自定义序列化**:通过实现JSONAware接口或使用JSONSerializer的transform方法,开发者可以定制JSON序列化过程,...

    json-lib-2.3-jdk15开发包和所有依赖包

    4. **XML与JSON互转**:除了基本的JSON操作,`json-lib`还提供了XML与JSON之间的转换功能,这对于需要在XML和JSON之间进行数据交换的应用非常有用。 5. **依赖包的集成**:`json-lib-2.3-jdk15`开发包包含了所有...

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

    `json-lib`是一个Java库,它提供了一种将Java对象转换为JSON表示,并将JSON数据转换回等效Java对象的方法。`json-lib-2.4-jdk15.jar`是这个库的一个特定版本,适用于JDK 1.5环境。 在Java开发中,`json-lib`库提供...

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

    JSON-lib是一个Java库,用于将Java对象转换为JSON(JavaScript Object Notation)格式,以及将JSON数据转换回Java对象。这个库提供了多种方法来处理JSON数据,使得在Java应用程序中与JSON交互变得更加简单。JSON是一...

    json-lib-2.4 jar 程序文件

    3. **JSON与Java对象的互转**:JSON-Lib支持多种Java类型,包括基本类型、集合、Map等。例如,`String jsonString = obj.toString();`将JSON对象转换为字符串,而`Map, Object> map = JSONObject.toBean(JSONObject....

    json-lib-2.3.jar

    总之,json-lib是一个强大的JSON处理库,它简化了Java应用与JSON数据的交互,无论是序列化Java对象为JSON,还是将JSON数据还原为Java对象,都提供了便捷的API。通过对`JsonObject.fromObject()`和`JsonArray.from...

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

    JSON-Lib是一个Java库,设计用于处理JSON格式的数据,使得在Java应用程序中进行JSON操作变得更加简单。 JSON-Lib-2.4-jdk15是JSON-Lib的一个特定版本,它针对JDK 1.5进行了优化,以适应该版本的Java环境。这个库...

    json-lib-2.4-jdk15.jar所需全部JAR包_JSON_

    `json-lib`是一个Java库,它提供了一种将Java对象转换为JSON表示,以及将JSON内容反序列化回Java对象的机制。`json-lib-2.4-jdk15.jar`是该库的一个特定版本,适用于JDK 1.5环境。这个版本的jar文件包含了处理JSON...

    json-lib-2.4-jdk13对应jar包大全

    json-lib是一个Java库,用于将Java对象转换为JSON格式,反之亦然。该库特别适用于处理复杂的Java对象并将其转换为JSON字符串,以便在服务器和客户端之间进行数据交换。 在这个“json-lib-2.4-jdk13对应jar包大全”...

Global site tag (gtag.js) - Google Analytics