您的位置:首页 > 编程语言 > Java开发

2009-05-09技术学习:java与jaon数据

2009-05-09 23:33 375 查看
jaon数据的轻量级,易读性,使用简单等方式一直它的一个亮点。以前在.NET中使用的时候就非常好用,现在使用Java做项目了,轻量级的数据传输还是选择JSON,其实在Java中操作JSON数据还是很简单的。由于Java的开放性,使用处理JSON数据的类库有N多个,http://www.json.org 可以看到有18种之多,本人使用的是org.json,因为这个比较简单,并且不依赖其它的东东。

官网上并没有现成的jar包提供下载,只有源程序,可以将源程序下载下来,自己生成一个jar包即可。我生成一个供大家使用:http://download.csdn.net/source/1294331测试程序如下:

import java.util.Map;
import java.util.HashMap;
import org.json.JSONObject;
import org.json.JSONException;
public class JsonTest {
public static void main(String[] args) throws JSONException {
System.out.println("--------------------create-------------------");
createJsonData();
String str = "{/"Task_Data/":{/"task_code/":/"task_code/",/"action_type/":/"action_type/"},/"UILogic_Param/":{/"param1/":/"param1/",/"param2/":/"param2/",/"param3/":/"param3/"}}";
System.out.println("----------------------reade----------------------");
readJsonData(str);
}
public static void readJsonData(String str) throws JSONException {
JSONObject obj = new JSONObject(str);
String taskData = obj.getString("Task_Data");
String uiloginParam = obj.getString("UILogic_Param");
JSONObject taskCodeObj = new JSONObject(taskData);
String taskCode = taskCodeObj.getString("task_code");
String actionType = taskCodeObj.getString("action_type");
System.out.println("taskCode=" + taskCode);
System.out.println("actionType=" + actionType);
}
public static void createJsonData() throws JSONException {
String json = "{/"name/":/"haste/"}";
JSONObject jsonObject = new JSONObject(json);
String[] likes = new String[]{"javascript", "sql server", ".Net"};
jsonObject.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("ingredients", "outdoors");
jsonObject.put("ingredients", ingredients);
System.out.println(jsonObject);
String name = jsonObject.getString("name");
System.out.println(name);
}
}


还是比较简单的,如果在JSON数据中一个键有多个值时使用getJSONArray就可以得到一个JSON的数组,操作依然很方便!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: