Java构建json数据格式(利用org.json)

我们平时对json的处理多半是获取得到的json数据然后对其进行处理,那么我们如何生成json数据格式传递给别人呢?

在工具org.json中提供了类用来自己构建json数据格式。

首先需要导入org.json所需要的jar包

一:利用JSONObject类

使用JSONObject的构造方法,然后toString。 创建一个JSONObject对象后,再使用put(String, Object)方法添加键值对。 toString()方法将JSONObject对象按照JSON的标准格式进行封装。
例如我们想要生成如下的json数据格式,该如何操作:
Java构建json数据格式(利用org.json)_第1张图片
具体的代码如下所示:
Java构建json数据格式(利用org.json)_第2张图片

二:利用JSONStringer类

//2:使用JSONStringer创建JSON文本
		@Test
		public void test2() throws JSONException{
			JSONStringer jst = new JSONStringer();
			//json对象开始
		jst.object();
			jst.key("name");
			jst.value("owen");
			
			jst.key("age");
			jst.value(21);
			
			jst.key("friends");
				JSONStringer jst2 = new JSONStringer();
				jst2.object();
					jst2.key("1");
					jst2.value("张三");
					
					jst2.key("2");
					jst2.value("李四");
				jst2.endObject();
			jst.value(jst2);
			
			jst.key("爱好");
				JSONStringer jst3 = new JSONStringer();
				jst3.array();
					jst3.value("游泳");
					jst3.value("唱歌");
					jst3.value("跳舞");
			     jst3.endArray();
			 jst.value(jst3);
		jst.endObject();
		System.out.println(jst.toString());
		}
结果如下所示:

本人建议采用第一种方式比较简单。但是比较两种会发现。利用JSONObject生成的Json数据排列顺序是无序的

你可能感兴趣的:(java,json)