java中json怎么运用?

如题所述

json一般都是配合ajax一起使用的 我做做过的小例子 粘给你 你可以研究一下
js部分
//获取卡的金额
function get_money(){
var str=document.getElementById("pk_card_type").value;
//alert(str);
var url = '/member_h.do';
var pars = 'method=getMoney';
pars+='&pk_card_type='+str;
var ajax = new Ajax.Request(
url,
{method:'post',parameters:pars,onComplete:show_money}
);

}
//回调函数 写入卡的金额
function show_money(dataResponse)
{
var data = eval('(' + dataResponse.responseText + ')');
var price=0;
price=data.price;
var collection_fees=0;
collection_fees=data.collection_fees;
document.getElementById("recharge").value=price;
document.getElementById("collection_fees").value=collection_fees;
}

action部分
public ActionForward getMoney(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
response.setContentType("text/html; charset=utf-8");

try {
IElementaryFileService ggsv = new ElementaryFileService();
String pk_card_type = request.getParameter("pk_card_type");
Card_TypeVO ctvo=new Card_TypeVO();
ctvo=ggsv.queryByPK(Card_TypeVO.class, pk_card_type);
PrintWriter out = response.getWriter();
// 这里的数据拼装一般是从数据库查询来的
JSONObject jsonObject = new JSONObject();
if(ctvo!=null){
jsonObject.put("price", ctvo.getCard_money());
jsonObject.put("collection_fees", ctvo.getCash());
}else{
jsonObject.put("price", 0);
jsonObject.put("collection_fees", 0);
}

out.print(jsonObject.toString());
out.flush();
out.close();
return null;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-03-21
JSONObject jsonObject=new JSONObject(String)
String str=jsonObjiect.get("你需要的字符串名字").toString;
第2个回答  2018-05-31
考虑到JSON职责是用于传输交换数据。实际开发中常发生在HTML与JavaScript发生数据耦合以及前台页与服务器代码发生数据耦合时,使用JSON比较恰当。
第3个回答  推荐于2017-09-28
一 简介:
JSON(JavaScript对象符号)是一种轻量级的数据交换格式。这是很容易为人类所读取和写入。这是易于机器解析和生成。它是基于JavaScript编程语言的一个子集 , 标准ECMA-262第三版- 1999年12月。JSON是一个完全独立于语言的文本格式,但使用C家族的语言,包括C,C + +,C#,Java中的JavaScript,Perl的,Python中,和许多其他程序员所熟悉的约定。这些特性使JSON成为理想的数据交换语言。他和map很类似,都是以
键/值 对存放的。
二 JSON 使用须要用的JAR包:
commons-lang.jar
commons-beanutils.jar
commons-collections.jar
commons-logging.jar
ezmorph.jar
json-lib-2.2.2-jdk15.jar

三 使用JSON中的JSONObject:
1.创建一个JSONObject对象,并使用put();方法添加元素:
首先我们创建一个User对象以备后用:
public class User {
private int id;
private String name;
private String pwd;
private String sex;
//get,set方法
@Override
//重写他的toString方法
public String toString() {
return this.name+"--"+this.pwd+"--"+this.sex;
}
}

例子如下:
import net.sf.json.JSONObject;
public class TestJson {
private static JSONObject json = null;
public static void main(String[] args) {
json = new JSONObject();
json.put("id","1");
json.put("name","张三");
json.put("pwd","123456");
System.out.println(json);
}
}
运行:

C:\java>java TestJson
{"id":"1","name":"张三","pwd":"123456"}

通过这段代码我们就能很清淅的看到他的添加元素和map集合方式一样。

现在我们要将这个json对象放进一个JAVABEAN的User对象怎么弄呢?很简单
我们须要在 TestJson 类中的主方法中加入(放在System.out.println(json)这句话后面)
User user = new User();
user.setId(Integer.parseInt(json.getString("id")));
//json.getString("id")就是通过他的KEY值取得对应的value值
user.setName(json.getString("name"));
user.setPwd(json.getString("pwd"));
System.out.println(user);
这样我们就把json这个对象里的值放进user对象里面了。
运行:
C:\java>java TestJson
{"id":"1","name":"张三","pwd":"123456"}
张三--123456--null
json添加元素除了用put();方法之外还可以用element();如:json.element("11", "222");
2.创建一个JSONArray对象,并添加元素:
JSONArray添加元素和list集合一样,当然取值也很像,代码如下

import net.sf.json.*;
public class TestJson1 {
private static JSONObject json = null;
private static JSONArray jsonArray = null;
public static void main(String[] args) {
jsonArray = new JSONArray ();
jsonArray.add(0, "张三");
jsonArray.add(1, "李四");
jsonArray.add(2, "王五");
jsonArray.add(3, "小三");
System.out.println(jsonArray);
System.out.println(jsonArray.get(1));
}
}

输出结果为:
["张三","李四","王五","小三"]
李四
注:json的基本格式这些网上很多,就不多说了,我们只须记住一句话就行了:[]表示数组,{}表示对象就完了!

1.从Object到String
要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可
(1)示例一
Book book=new Book();
book.setName("Java");
book.setPrice(52.3f);
JSONObject object=JSONObject.fromObject(book);
System.out.println(object.toString());
(2)示例二
Book book=new Book();
book.setName("Java");
book.setPrice(52.3f);

Book book2=new Book();
book2.setName("C");
book2.setPrice(42.3f);
List list=new ArrayList();
list.add(book);
list.add(book2);
JSONArray arry=JSONArray.fromObject(list);
System.out.println(arry.toString());
//结果如下:
[{"name":"Java","price":52.3},{"name":"C","price":42.3}]
2.从String到Object
要先用String对象构造一个JSONObject或者JSONArray对象
(1)示例一
String json="{name:'Java',price:52.3}";
JSONObject object=JSONObject.fromObject(json);
System.out.println(object.get("name")+" "+object.get("price"));

(2)示例二
String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
JSONArray array=JSONArray.fromObject(json);
for(int i=0;i< array.size();i++){
Map o=(Map)array.get(i);
System.out.println(o.get("name")+" "+o.get("price"));
}
3.从String到Bean
(1)单个Bean对象
String json="{name:'Java',price:52.3}";
JSONObject object=JSONObject.fromObject(json);
Product product=(Product)JSONObject.toBean(object,Product.class);
System.out.println(product.getName()+" "+product.getPrice());

(2).Bean的数组
String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
JSONArray array=JSONArray.fromObject(json);
Product[] products=(Product[]) JSONArray.toArray(array,Product.class);
for(Product p:products){
System.out.println(p.getName()+" "+p.getPrice());
}
自定义封装JSON操作的类
package com.util;

import java.util.List;
import java.util.Map;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class JsonHelper {
//从普通的Bean转换为字符串
public static String getJson(Object o){
JSONObject jo=JSONObject.fromObject(o);
return jo.toString();
}
//从Java的列表转换为字符串
public static String getJson(List list){
JSONArray ja=JSONArray.fromObject(list);
return ja.toString();
}
//从Java对象数组转换为字符串
public static String getJson(Object[] arry){
JSONArray ja=JSONArray.fromObject(arry);
return ja.toString();
}

//从json格式的字符串转换为Map对象
public static Map getObject(String s){
return JSONObject.fromObject(s);
}

//从json格式的字符串转换为List数组

public static List getArray(String s){
return JSONArray.fromObject(s);
}
//从json格式的字符串转换为某个Bean
public static Object getObject(String s,Class cls){
JSONObject jo=JSONObject.fromObject(s);
return JSONObject.toBean(jo, cls);
}
//从json格式的字符串转换为某类对象的数组
public static Object getArray(String s,Class cls){
JSONArray ja=JSONArray.fromObject(s);
return JSONArray.toArray(ja, cls);
}
}

Java处理Json(fastjson)
解析JSON字符串到JSONObject是fastjson的基础操作,你可以使用`parseObject()`方法。例如,如果你有一个JSON字符串,想要获取`merchantId`,只需调用`getString("merchantId")`即可获取。另一方面,如果你需要将数据插入到JSONObject,使用`put()`方法即可。想要将JSONObject转换回JSON字符串,可以使用`toJSO...

javajson解析,怎么把一串字符串里的某一个节点解析成对应
接下来,解析 JSON。根据 JSON 的结构,你可以使用 `JsonReader` 的方法逐级解析 JSON 对象或数组。例如,使用 `nextName()`、`nextValue()` 和 `nextBoolean()` 等方法解析不同类型的节点。最后,将解析出的 JSON 对象或数组转换为你需要的 Java 对象。使用 `fromJson()` 方法,它接受 JSON 字...

在java web开发中怎么使用json?
1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。在Java中就是一种...

javajson传参个数不固定怎么接收
在Java中,可以使用可变参数(Varargs)的方式来接收参数个数不固定的JSON数据。使用可变参数的方法需要在方法的参数列表中使用省略号(...)来表示可变参数,然后将JSON数据作为可变参数创建方法中即可。在方法中,可以使用类似吞吐量的方式来访问可变参数中的每个JSON对象,例如使用for-each循环遍历可每个JSO...

java如何解析json字符串?
使用Java自带JSON库的示例如下:首先定义JSON字符串,使用JSONObject类解析并转换为Java对象,然后通过getString()和getInt()方法获取数据。示例输出结果未给出。在项目选择时,根据功能需求和性能要求,企业可以选择Gson和FastJson并行使用。若无性能要求,Gson适用于将JSON转换为bean。若有性能要求,Gson用于...

要在java里使用json,要用到的jar包怎么导入?
先把jar包放在项目下面,最好是新建一个专门放包的文件夹 右键项目,属性,java build path,添加包

java里的JSONObject作用是什么?什么时候用?
JsonObject 就是常说的 json。是一种重要的数据传输对象。其格式为{"key1":value1,"key2",value2...};key 必须是字符串。因为ajax请求不刷新页面,但配合js可以实现局部刷新,因此json常常被用来作为异步请求的返回对象使用。通过response.getWriter()获取PrintWriter pw,然后pw.print(json)。如果没有...

Java常用的JSON序列化与反序列化工具实践
Java中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简单易用、跨平台支持以及在Web应用中的广泛应用而被广泛采用。其优点包括:数据结构灵活、传输效率高、安全性强等。在前后端数据传输、API接口数据交换、存储和日志记录等场景中,JSON扮演着关键角色。针对JSON序列化与反序列化的...

如何在java里用fastjson解析这样的json字符串?
将Java对象转化为JSON字符串时,可使用toJSONString方法。该方法接收Java对象作为参数,返回对应的JSON字符串。将JSON字符串转化为Java对象时,可以使用parseObject或parseArray方法。parseObject方法接收JSON字符串和Java类作为参数,从JSON中解析出对应的Java对象。parseArray方法同样接收JSON字符串和Java类作为参数...

java后端怎么发送json文件给客户端?
1. 将JSON文件读取为字符串,例如:```String jsonString = new String(Files.readAllBytes(Paths.get("path\/to\/jsonFile.json")));```2. 将字符串设置为响应体,设置响应头为JSON格式,例如:```response.setContentType("application\/json");response.setCharacterEncoding("UTF-8");response....

相似回答