基于json-lib.jar包Json实例程序
1.从头或者从零开始,创建一个JSONObject(Creating a JSONObject from scratch)
实例1:
JSONObject jsonObject = new JSONObject();
jsonObject.element("name", "周星星");
jsonObject.element("sex", "male");
jsonObject.element("age", 18);
jsonObject.element("job", "student");
System.out.println(jsonObject.get("name"));// 周星星
System.out.println(jsonObject.get("job"));// student
System.out.println(jsonObject.getString("sex"));// male
System.out.println(jsonObject.getInt("age"));// 18
实例2:
JSONObject jsonObject = new JSONObject().element("string", "JSON").element("integer", "1").element("double", "2.0").element("boolean", "true");
assertEquals("JSON", jsonObject.getString("string"));
assertEquals(1, jsonObject.getInt("integer"));
assertEquals(2.0d, jsonObject.getDouble("double"), 0d);
assertTrue(jsonObject.getBoolean("boolean"));
注:这是对实例1的一个简化版
2.使用一个JSON格式化字符串来创建一个JSONObject(Creating a JSONObject from a JSON formatted string)
实例1:
String json = "{name:\"周星星\",sex:\"male\",age:18,job:\"student\"}";
JSONObject jsonObject = JSONObject.fromObject(json);
//或者使用 JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(json);
System.out.println(jsonObject.get("name"));// 周星星
System.out.println(jsonObject.get("job"));// student
System.out.println(jsonObject.getString("sex"));// male
System.out.println(jsonObject.getInt("age"));// 18
实例2:
String str = "{'string':'JSON', 'integer': 1, 'double': 2.0, 'boolean': true}";
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(str);
assertEquals("JSON", jsonObject.getString("string"));
assertEquals(1, jsonObject.getInt("integer"));
assertEquals(2.0d, jsonObject.getDouble("double"), 0d);
assertTrue(jsonObject.getBoolean("boolean"));
3.使用一个Map来创建一个JSONObject(Creating a JSONObject from a Map)
实例1:
Map map = new HashMap();
map.put( "string", "JSON" );
map.put( "integer", "1" );
map.put( "double", "2.0" );
map.put( "boolean", "true" );
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON( map );
assertEquals( "JSON", jsonObject.getString("string") );
assertEquals( 1, jsonObject.getInt("integer") );
assertEquals( 2.0d, jsonObject.getDouble("double"), 0d );
assertTrue( jsonObject.getBoolean("boolean") );
4.使用一个JavaBean来创建一个JSONObject(Creating a JSONObject from a JavaBean)
实例1:
public class Mybean {
private String string;
private int integer;
private double dooble;
private boolean bool;
// getters & setters
}
Mybean bean = new Mybean();
bean.setString("JSON");
bean.setInteger(1);
bean.setDooble(2.0d);
bean.setBool(true);
JSONObject jsonObject = (JSONObject) JSONSerializer.toJSON(bean);
assertEquals("JSON", jsonObject.getString("string"));
assertEquals(1, jsonObject.getInt("integer"));
assertEquals(2.0d, jsonObject.getDouble("dooble"), 0d);
assertTrue(jsonObject.getBoolean("bool"));
分享到:
相关推荐
1. **创建JSONObject** 创建`JSONObject`最常见的方式是从一个Java对象映射而来。`json-lib.jar`提供了`JsonBeanUtil`工具类,可以将Java对象转换为`JSONObject`。例如,如果你有一个名为`User`的类,你可以这样做...
为了处理JSON数据,Java社区提供了多种库,其中两个常用的库是net.sf.json和org.json。这两个库分别由不同的开发者维护,它们提供了不同的API和功能,以满足不同开发需求。 首先,我们来看`net.sf.json`,这是一个...
在Demo中,你可能看到了如何使用这四个库进行JSON的序列化和反序列化操作。每个库都有其特点,选择哪个取决于项目需求,如性能、易用性、功能丰富程度等。Gson和Jackson适用于大型项目,功能全面;Fastjson以其速度...
2. JSONSerialization:通过`JSONSerialization.data(withJSONObject:)`和`JSONSerialization.JSONObject(with:)`方法实现字典与JSON数据的互换。 三、网络请求的封装 在Swift中,可以使用URLSession或者第三方库...
1. **封装方法**:可以创建一个静态方法,接收一个Java对象,返回JSON字符串。 2. **解析方法**:对应地,创建一个方法接收JSON字符串,返回特定的Java对象。 例如,创建一个名为`JsonUtil`的工具类: ```java ...
- `object()`:开始创建一个新的`JSONObject`。 - `array()`:开始创建一个新的`JSONArray`。 - `key(String key)`:设置键名。 - `value(Object value)`:设置键对应的值。 - `endArray()`和`endObject()`:...
以上四种方法是Java中解析JSON的常用途径。在实际开发中,选择哪种方法取决于项目需求、性能要求以及对库的熟悉程度。Jackson通常被认为是最快的,而Gson则以其简单易用而受到青睐。org.json库适合快速原型开发,而...
2. 创建JSON对象:通过JSONObject类的构造函数,可以创建一个空的JSON对象或者基于一个Map或String初始化JSON对象。 ```java JSONObject jsonObject = new JSONObject(); JSONObject jsonObjectFromMap = new ...
创建一个Controller: ```java @PostMapping("/data") public ResponseEntity<String> handleData(@RequestBody JSONObject requestJson) { String name = requestJson.getString("name"); int age = requestJson....
- 创建JSONObject或JSONArray对象,通过put方法添加键值对。 三、服务端JSON生成 服务端通常使用各种后端语言(如Java的Spring Boot、Node.js的Express等)处理业务逻辑并生成JSON数据。以Java为例,可以使用...
通过这个类可以创建JSON对象,并添加各种类型的属性和值,如字符串、数组和嵌套对象等。 ##### 1. 类定义 ```java public class JSON { private StringBuffer jsonObject = new StringBuffer(); ``` - **成员变量*...
这里我们将深入探讨`ExpandableListView`、SQLite数据库、网络下载以及JSON解析这四个关键知识点。 首先,`ExpandableListView`是Android SDK提供的一种可扩展的列表视图,它可以显示多级数据结构。每个分组可以...
例如,你可以使用`JSONArray`和`JSONObject`来表示和操作JSON数据,便于与Flex中的ArrayCollection进行数据交换。 总结,Flex4的DataGrid组件在客户端和服务器端的应用涉及到数据的获取、解析和展示,而JSON作为一...
最常用的异步方法是`AsyncTask`。在`doInBackground`方法中执行网络请求和JSON解析,然后在`onPostExecute`方法中更新UI。 四、总结 理解JSON的结构和Android中的解析方法是开发Android应用的关键技能之一。无论你...
3. 遍历键值对:`JSONObject`的`keys()`方法返回一个枚举,可用于遍历所有键。 4. 数组操作:`JSONArray`提供`get(int index)`方法获取指定索引的值,`length()`方法获取元素数量。 四、Gson库解析JSON 1. 创建Gson...
1. **org.json**:Android SDK自带的JSON处理库,提供了JSONObject和JSONArray类,用于创建、解析和操作JSON数据。 2. **Gson**:Google提供的库,能够将Java对象转换为JSON字符串,反之亦然,方便数据绑定。 三、...
1. 创建一个Java对象模型,对应JSON数据结构。 2. 获取JSON数据,可以是通过网络请求或本地资源文件。 3. 使用Gson的fromJson()方法将JSON字符串转换为Java对象。 4. 在UI上展示解析后的数据。 总结,Android下处理...
这个Adapter需要实现四个方法:`getCount()`(返回数据项数量),`getItem(int position)`(获取指定位置的数据项),`getItemId(int position)`(返回数据项的ID),以及`getView(int position, View convertView, ...
#### 四、Java 中处理 JSON 的常用类库 在 Java 中,处理 JSON 数据的类库较多,常见的有 org.json 库中的几个核心类: 1. **JSONObject**:用于表示 JSON 对象,支持添加、获取、删除键值对等操作。 2. **...