最近工作遇到了 json 解析的相关需求,整理下 JSONObject 相关操作。

文中使用的例子都是基于阿里巴巴的产品 FastJSON ,涉及到的包有:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

下面列举了开发过程中遇到过的一些常用操作:

(1) 创建 JSONObject

private static void createJSONObject() {
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "Jason");
jsonObject.put("id", 1);
jsonObject.put("phone", "18271415782");
System.out.println(jsonObject.toString());
}

(2) 创建 JSONArray

public static void createJsonArray() {
JSONArray jsonarray = new JSONArray(); JSONObject node = new JSONObject();
node.put("name","kwang");
node.put("age",20);
jsonarray.add(node); node = new JSONObject();
node.put("name","xkang");
node.put("age",15);
jsonarray.add(node);
System.out.println(jsonarray);
}

(3) String 转换为 JSONObject 对象

public static void StringToJson(String str) {
JSONObject json = (JSONObject)JSONObject.parse(str);
Iterator it = json.keySet().iterator();
while (it.hasNext()) {
String key = it.next().toString();
String value = String.valueOf(json.get(key));
System.out.println(key + ":" + value);
}
}

(4) JSONObject 转换为 String

public static void JsonToSTring() {
JSONObject json = new JSONObject();
//向json中添加数据
json.put("name", "kwang");
json.put("height", 175);
json.put("age", 24); //创建JSONArray数组,并将json添加到数组
JSONArray array = new JSONArray();
array.add(json); //转换为字符串
String jsonStr = array.toString(); System.out.println(jsonStr);
}

【参考链接】

[1] feri, JAVA中的四种JSON解析方式详解.

java创建和解析json对象的更多相关文章

  1. Java创建和解析Json数据方法(四)——json-lib包的使用

    (四)json-lib包的使用         既然json-lib包比org.json包重量级,那么json-lib包肯定有很多org.json包没有的类和方法,这篇笔记简单记录json-lib包中 ...

  2. Java创建和解析Json数据方法(三)——json-lib包的使用

    (三)json-lib包的使用         这篇笔记主要介绍json-lib包的创建和解析json数据的方式,主要是的JSONObject.JSONArray和Java对象:beans, maps ...

  3. Java创建和解析Json数据方法(二)——org.json包的使用

    (二)org.json包的使用 1.简介   工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookie ...

  4. Java创建和解析Json数据方法——org.json包的使用(转)

    org.json包的使用 1.简介   工具包org.json.jar,是一个轻量级的,JAVA下的json构造和解析工具包,它还包含JSON与XML, HTTP headers, Cookies, ...

  5. Java创建和解析Json数据方法(五)——Google Gson包的使用

    (五)Google Gson包的使用 1.简介 Gson包中,使用最多的是Gson类的toJson()和fromJson()方法:         ①toJson():将java对象转化为json数据 ...

  6. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

  7. jquery遍历筛选数组的几种方法和遍历解析json对象

    jquery grep()筛选遍历数组 $().ready(    function(){        var array = [1,2,3,4,5,6,7,8,9];        var fil ...

  8. Java构造和解析Json数据的两种方法详解二——org.json

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html 在www.json.org上公布了很多JAVA下的jso ...

  9. Java构造和解析Json数据的两种方法详解一——json-lib

    转自:http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/23/3096001.html 在www.json.org上公布了很多JAVA下的jso ...

随机推荐

  1. Base64编码与解码的作用

    1.便于网络传输. 2.不可见性. 3.适合在http,mime协议下快速传输数据. 4 区别于加密,Base64是可以解码的,编码是 公开的,Base 64编码,任何人都可以解码

  2. Anaconda 下 Jupyter 更改默认启动路径和默认浏览器

    1.Jupyter 更改默认启动路径方法 输入jupyter notebook --generate-config 会生成jupyter_notebook_config.py 找到文件,并打开 将 # ...

  3. 获取当前exe的绝对路径

    string GetExePath(void) { ]={}; GetModuleFileNameA(NULL, szFilePath, MAX_PATH); (strrchr(szFilePath, ...

  4. vue_03 练习

    1.有以下广告数据(实际数据命名可以略做调整) ad_data = { tv: [ {img: 'img/tv/001.png', title: 'tv1'}, {img: 'img/tv/002.p ...

  5. error MSB6006: “cmd.exe”已退出,代码为 3。

    error MSB6006: “cmd.exe”已退出,代码为 3. 这两天调程序遇到一个奇怪的问题. C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4. ...

  6. PHP mysqli_free_result() 函数

    mysqli_free_result() 函数释放结果内存. <?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect(&q ...

  7. Vue + Vuex 简单使用

    我们要实现的很简单,就是点击+1的count加一,点击-1的时候count-1 一.mutation 在vue 中,只有mutation 才能改变state.  mutation 类似事件,每一个mu ...

  8. mybatis标签selectkey无法返回主键值

  9. C和汇编混联合的问题

    关键时刻出现了问题: 关于packed的问题,一定要注意这个问题http://stackoverflow.com/questions/4306186/structure-padding-and-str ...

  10. I am coming..

    It's so great to start the blog here since it's been a long time that I want to start such kind of l ...