JSON 入门
2009-01-13 12:09
最近在研究 在 java 和 js之间传递对象 用JSON ,真是方便的要死!!
两个工作 1.下载相关的 jar包 可以到 http://json-lib.sourceforge.net/ 去下载
json-lib-2.2.3-jdk15.jar ,注意,还必须要有一下这些
• jakarta commons-lang 2.4
• jakarta commons-beanutils 1.7.0
• jakarta commons-collections 3.2
• jakarta commons-logging 1.1.1
• ezmorph 1.0.6
如需用到json、xml之间的转换需要 xom-1.1.jar
2.下载 相关的 js
json.js (http://www.JSON.org/json2.js)
这样 就OK了。
下面 说下使用方法,有两种需求,一种是 从java 转 js ,二是从 js 到 java ,
不管哪种需求,先 在 java 端把相应的类 建好,例如
public class User{
private String name;
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
(一)如果从 java 到 js ,则 新建 java对象
User user = new User();user.setName("张三"),
然后用
JsonObject jsonObject = JsonObject.fromObject(user)
就可以把普通对象转换为 json对象,然后将其
String text = jsonObject.toString()
得到的字符串text传给 JS,在 js端引入JSON.js,然后对得到的 字符串 text 使用
var jsObj = JSON.parse(text);
便得到了 js端的对象jsObj,再直接对
var name = jsObj.name;
就可以了得到 user 的 name 的值 "张三" 了;
(二) 如果从 js 到 java, 则 在 js端,
var jsObj = new Object(); jsObj.name = "张三";
然后 用
var text = JSON.stringify(jsObj);
得到 字符串 text, 再把text传给 java ,
java 拿到 text 后
JSONObject jso = JSONObject.fromObject(text);
(如果不需要转化为User类型或者没有对应的User类,则可直接用 jso.get(key);来取值)
User user= (User) jso.toBean(jso, User.class);
便可以得到 user 对象了
http://hi.baidu.com/kakarot%5Fjava/blog/item/c82dd0d51db942c350da4bdd.html
顺,不妄喜;逆,不惶馁;安,不奢逸;危,不惊惧;胸有惊雷而面如平湖者,可拜上将军!A:你为什么这么牛x?B:积累的.A:怎么才能积累到您的程度呢?B: 我从20岁开始做到了一件事情,直到今天,而且尽可能地保证不间断.A: 到底是什么?B: 我每天保证自己有2个小时在学习新的东西.
java 解析 json文件
2009-02-19 15:19
配置复杂结构的数据文件,一般都采用xml的形式,但解析起来比较费力,所以想到了JSON,可以用JSON文件存储复杂结构的数据文件,然后通过JAVA解析
准备工作 1.需要 java解析JSON的jar包,参考http://hi.baidu.com/kakarot%5Fjava/blog/item/c82dd0d51db942c350da4bdd.html
2.在工程下新建json文件test.json 内容为
{
"name" : "张三",
"age":23,
"sex":"男"
}
3.新建工具类
package com.kakarot;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import net.sf.json.JSONObject;
import te.User;
/**
* FileName:Util4JSON.java<br>
* Info:<br>
*
* CurrentVersion:v1.0.0<br>
* LastVersion:<br>
* Modifier: ModifyDate:<br>
* Info:<br>
*
* CreateVersion:v1.0.0<br>
* Author:曹博 CreateDate:Feb 19, 2009,3:03:52 PM<br>
*
*/
public class Util4JSON
{
@SuppressWarnings("unchecked")
public static Object getObjectFromFileOfJSON(String classPath,
String encoding, Class clazz)
{
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream input = loader.getResourceAsStream(classPath);
BufferedReader reader = null;
Object obj = null;
try {
reader = new BufferedReader(new InputStreamReader(input, encoding));
StringBuffer buffer = new StringBuffer();
String line = reader.readLine(); // 读取第一行
while (line != null) { // 如果 line 为空说明读完了
buffer.append(line); // 将读到的内容添加到 buffer 中
line = reader.readLine(); // 读取下一行
}
String str = buffer.toString();
JSONObject object = JSONObject.fromObject(str);
obj = JSONObject.toBean(object, User.class);
}
catch (Exception e) {
e.printStackTrace();
obj = null;
}
return obj;
}
}
4.新建测试文件
package com.kakarot;
import te.User;
/**
*FileName:Test.java<br>
*Info:<br>
*
*CurrentVersion:v1.0.0<br>
*LastVersion:<br>
*Modifier: ModifyDate:<br>
*Info:<br>
*
*CreateVersion:v1.0.0<br>
*Author:曹博 CreateDate:Feb 19, 2009,3:18:34 PM<br>
*
*/
public class Test
{
public static void main(String[] args)
{
User user = (User) Util4JSON.getObjectFromFileOfJSON("test.json", "utf-8", User.class);
System.out.println(user.getName());
}
}
分享到:
相关推荐
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,...在实际应用中,这两个文件可以帮助开发者在Java和JavaScript环境中方便地处理JSON数据,实现字符串、XML与JSON对象之间的转换。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它以文本形式存储和传输数据,易于人阅读和编写,同时也容易让机器解析和生成。在Java和C#中,JSON转换为对象...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在Java中,我们经常需要将JSON字符串与Java对象进行相互转换,以便于...
本篇将围绕Java中的JSON应用进行详细讲解。 首先,要解析和生成JSON对象,Java开发者通常会使用到一些库,如Jackson、Gson、Fastjson等。这些库提供了丰富的API,帮助我们轻松地完成JSON与Java对象之间的转换。例如...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁和易于阅读及编写的特点,被广泛应用于网络数据传输。本文将详细介绍如何在Java中解析JSON文件。 一、JSON解析库 1. Jackson:Jackson是...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和移动应用中的数据传输。在Java和Android开发中,处理JSON数据是常见的任务,这涉及到JSON的序列化与反序列化,以及格式化显示。...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在Java中,处理JSON有多种库,如Jackson、Gson、org.json和JSON-P等。本压缩包"json in java.rar"包含了关于在...
JSON格式基于JavaScript的一个子集,但与语言无关,因此在各种编程语言中,包括Java,都有广泛的应用。本文将深入探讨在Java中如何使用JSON,以及其在实际开发中的应用场景。 首先,Java中处理JSON的主要工具有两个...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。在Java中,处理JSON通常需要使用特定的库或框架,这些库被打包成jar文件,供开发者在项目中引用。标题中的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输,因为它易于读写,同时也被人类和机器所理解。在JAVA开发中,处理JSON数据通常需要借助特定的库来完成...
在Java编程语言以及基于J2EE的企业级应用开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式。它易于人阅读和编写,同时也容易让机器解析和生成。JSON包在Java中扮演着至关重要的角色,...
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它以易于人阅读和编写的方式,同时也易于机器解析和生成。Java是面向对象的编程语言,它同样需要处理JSON数据...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括Java)的习惯,这使得JSON成为了理想的数据交换语言。JSON易于人阅读和编写,...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输,因为它易于读写,同时也被人类和机器所解析。Java作为一种常用的后端开发语言,常常需要处理JSON数据...
`j2b.js`则是这个Web应用的JavaScript脚本,负责处理JSON到Java的转换逻辑。用户只需在浏览器中打开`j2b.html`,无需安装任何软件,即可快速便捷地完成转换。 在实际开发中,除了手动转换,还可以利用一些流行的库...
JSON采用完全独立于语言的文本格式,但使用了类似于C家族语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使得JSON成为理想的数据交换语言。 **NPPJSONViewer插件** NPPJSONViewer是专为...
在Web开发中,JSON-RPC常用于实现客户端与服务器之间的异步通信,尤其在AJAX应用中,可以提供类似本地调用的体验。 Spring MVC是Spring框架的一部分,它是一个模型-视图-控制器(MVC)架构,用于构建可维护性和可...
JSON与Java对象互转是后端开发中常见的需求,尤其是在Web应用和移动应用的数据交互场景下。一方面,服务器端需要将复杂的业务逻辑处理结果转化为JSON格式,以便于前端或移动端的解析和展示;另一方面,客户端提交的...