⑴ java 后台接收json数据 我想在struts2 的action里,接收ext传来的json数据 用什么接收啊
只要从parameter里接收string类型就可以,然后将json字符串转换成你需要的东西
⑵ 多层JSON数据,java后台如何接收
使用标准的Json对象,如org.json.JSONObject json = new org.json.JSONObject(yourJsonString);然后通过get(keyString)逐个解析
2. 构造一个类MyObject,根据你提出的问题,其中添加 String name,List<MyObject> child, 两个属性,增加getter setter 方法,通过com.google.gson.Gson进行解析。步骤如下:
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);
案例
package com;
import java.util.List;
import com.google.gson.Gson;
public class MyObject {
String name;
List<MyObject> child;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<MyObject> getChild() {
return child;
}
public void setChild(List<MyObject> child) {
this.child = child;
}
public static void main(String[] args) {
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);
System.out.println(obj.getChild().get(0).getName()); // --222
System.out.println(obj.getChild().get(1).getName()); // --222
System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333
}
}
⑶ java怎么读取json格式的数据
解析JSON数据的方法多种多样,这里提供一个自定义的方法示例。该方法接收三个参数:JSON字符串,JSON数组名称,以及JSON字符串所包含的字段数组。其目标是将JSON数据转换为一个包含Map对象的List对象。每个Map对象代表JSON数组中的一个元素,其键值对与输入的字段数组一致。
具体实现上,首先创建一个List对象用于存储Map对象。然后解析输入的JSON字符串,获取指定名称的JSON数组。遍历该数组,对每个元素创建一个新的Map对象。根据字段数组,将JSON对象中的对应字段值添加到Map中,并将Map添加到List中。这样,List中的每个Map对象都代表JSON数组中的一个元素,且其结构与输入的字段数组一致。
需要注意的是,如果在执行过程中发生JSON异常,将记录错误信息。此外,示例代码中使用了try-catch结构处理可能出现的异常,确保程序的健壮性。
下面是一个具体的使用示例:
假设我们有如下JSON数据:
[{"id":"1","name":"张三"},{"id":"2","name":"李四"}]
我们希望将其转换为Map对象的List,键值对分别为“id”和“name”。调用上述方法时,可以这样传递参数:
List<Map<String, String>> result = convertJSON2List(jsonStr, "list", new String[]{"id", "name"});
这样,result将包含两个Map对象,分别对应于JSON数组中的两个元素。
该方法适用于处理简单的JSON数据转换场景。对于更复杂的场景,可能需要使用更高级的库或框架来简化处理过程。
⑷ 怎样从java后台获取json字符串并转换为json对象输出
使用json-lib.jar这个工具x0dx0apublic String getJson(Object obj){x0dx0a JSONObject json;x0dx0a json = JSONObject.fromObject(obj);x0dx0a return json.toString();x0dx0a}x0dx0a使用jquery来处理jsonx0dx0a//转换为json数据 datas可以用ajax从后台获取上面getJson中的数据x0dx0avar jsonDatas = eval("(" + datas + ")");x0dx0a //循环遍历数据x0dx0ajQuery.each(jsonDatas, function(item) {x0dx0a//循环x0dx0a});