导航:首页 > 编程语言 > list添加jsonarray

list添加jsonarray

发布时间:2024-05-27 05:15:23

⑴ 从API接口获取的json数据怎么存到对象的List集合中

1. 简单的手动放置 键值对 到JSONObject,然后在put到JSONArray对象里
List<Article> al = articleMng.find(f);
System.out.println(al.size());
HttpServletResponse hsr = ServletActionContext.getResponse();
if(null == al){
return ;
}
for(Article a : al){
System.out.println(a.getId()+a.getDescription()+a.getTitle());
}
JSONArray json = new JSONArray();
for(Article a : al){
JSONObject jo = new JSONObject();
jo.put("id", a.getId());
jo.put("title", a.getTitle());
jo.put("desc", a.getDescription());
json.put(jo);
}
try {
System.out.println(json.toString());
hsr.setCharacterEncoding("UTF-8");
hsr.getWriter().write(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
复制代码
上述代码JSONArray是引入的org.json.JSONArray包

而用net.sf.json包下JSONArray的静态方法:fromObject(list) 这是网上大多是都是直接用此方法快捷转换JSON,但是对于Hibernate级联操作关联的对象,这个方法就会报错,如果将映射文件中的级联配置去掉就行了。

另外对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据。

<many-to-one name="cmsent" column="comment_tid" class="com.fcms.cms.entity.CmsComment"
not-null="false" cascade="delete">
但是级联操作毕竟还是得存在,否则以后数据冗余、多余。

解决方法就是:JSONArray subMsgs = JSONArray.fromObject(object, config);

JsonConfig config = new JsonConfig();
config.setJsonPropertyFilter(new PropertyFilter() {
public boolean apply(Object arg0, String arg1, Object arg2) {
if (arg1.equals("article") ||arg1.equals("fans")) {
return true;
} else {
return false;
}
}
});

⑵ 濡備綍閫氳繃java浠g爜灏咼sonArray杞鍖栦负list闆嗗悎

瀹氫箟涓涓鏂扮殑java瀵硅薄锛屽硅薄涓鐨勫瓧娈靛瑰簲JsonArray涓鐨勫瓧娈碉紝濡傛灉宸茬粡鏈夎繖鏍风殑瀵硅薄锛岄偅涔堝氨涓嶇敤瀹氫箟浜嗐傜劧鍚庝娇鐢╠eviceList = (List<DeviceAddDyn>) jsonArray.toCollection(jsonArray, DeviceAddDyn.class);鍏朵腑DeviceAddDyn鏄鑷宸卞畾涔夌殑绫诲悕锛屽傛灉宸叉湁锛屽彲浠ョ洿鎺ユ浛鎹㈢被鍚嶅嵆鍙銆

⑶ 怎么把list转成jsonarray

package no.integrasco.ingentia.news.qaedition;

public class Person {

private String name;

private int age;

public String getName() {

return name;
}

public void setName(String name) {

this.name = name;
}

public int getAge() {

return age;
}

public void setAge(int age) {

this.age = age;
}
}

package no.integrasco.ingentia.news.qaedition;

import java.util.List;

import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;

public class JsonTest {

/**
* @param args
*/
public static void main(String[] args) {

// 转换方法1
JSONArray array = JSONArray.fromObject("[{'name':'hehe','age':22}]");
List<Person> list = JSONArray.toList(array, Person.class);// 过时方法
System.out.println(list.get(0).getName());

// 转换方法2
List<?> list2 = JSONArray.toList(array, new Person(), new JsonConfig());//参数1为要转换的JSONArray数据,参数2为要转换的目标数据,即List盛装的数据
Person person = (Person) list2.get(0);
System.out.println(person.getAge());
}

}

从页面接收json格式的数据,在java类里面进行解析

String jsonStr = {"name":"zfj","dd":[{"ddr":"1","encrypt":"2","ff":"1","length":"23","ffe":"editStyled","ill":"1","pkor":"2","name":"zfj","isKey":"2","alias":"ffff"}],"addRelations":[{"type":"2","ld":"zfj","ld":"2"}]};

将此字符串放在ruquest或者其他的变量里面,传递到后台。

如放在reques中:
request.getRequestDispatcher("/geServlet?data="+jsonStr).forward(request,response);

在servlet或java类里这样接收:
String json = request.ge[size=large][/size]tParameter("data");
JSONObject jsonObject = JSONObject.fromObject(data);
String name = jsonObject.getString(“name”);
......
//对于数组这样接收用

JSONArray jan = (JSONArray) jsonObject.get("dd");
if(jan!=null||jan.size()!=0){
for(int i=0;i<ja.size();i++){
JSONObject jo = JSONObject.fromObject(ja.get(i));
String ff = jo.getString("ff");
......
}
}

⑷ java中如何用json接收一个list

可以使用三种方式,用json接收一个list,方法如下:

1、使用org.json.JSONArray包:专

JSONArrayjson=newJSONArray();
for(Useru:list){
JSONObjectjo=newJSONObject();
jo.put("id",u.getId());
jo.put("title",u.getName());
json.put(jo);
}

2、使用net.sf.json包下JSONArray的静态方法:属fromObject(list), 这是网上大多是直接用此方法快捷转换JSON,但是对于list的要求就是其中的元素是字符串或对象,否则JSON不知道你想要的是什么数据:

JSONArrayjson=JSONArray.fromObject(list);

3、使用google的gson,将list转为json字符串:

Gsongson=newGson();
Stringstr=gson.toJson(list);

⑸ java中如何用json接收一个list

第一种方法 在action类中 声明一个list集合如:private List list;生成辩高枯getter和setter方法;x0dx0a然后通过方法action的方法给list赋值;然后页面通过struts2标签接携洞受即可;x0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0ax0dx0a第二种方法 首先 在action类中;private String jsonData;生成getter和念举setter方法;x0dx0a通过json 驱动包带的JSONArray json = JSONArray.fromObject(list);转换成json格式x0dx0asetJsonData(json.toString());x0dx0a在你返回成功跳到的页面 定义 :$(jsonData);x0dx0a然后通过ajax 接受 就可以了!x0dx0a建议使用第一种方法

⑹ js中如何向json数组添加元素

比如现在抄有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre。做法如下:

var jsonObj={

'param1':22,

'param2' :33

};

jsonObj. newParam ='pre';

新的属性添加以后,json对象变成:

var jsonObj={

'param1':22,

'param2' :33,

'newParam':'pre'

};

(6)list添加jsonarray扩展阅读:

json数据格式:主要由对象 { } 和数组 [ ] 组成:

其中对象包括键值对(属性:属性值){key: value},value 可为 str,num,list,obj。取值使用 objcet.key。

{key: value, key2:value2,} 键:值用冒号分开,对间用,连接。

数组包含元素:num,str,list,objcet 都可以,利用索引访问 [index],用 . 连接各个值。

阅读全文

与list添加jsonarray相关的资料

热点内容
jquery查找json 浏览:440
测dna的纯度应该读取哪个数据 浏览:245
怎么验证在qq里边搜的人是真人 浏览:404
erp系统需要什么编程 浏览:916
程序员用语 浏览:177
招标文件研读报告包括内容 浏览:862
系统软件处理数据有哪些好处 浏览:706
flash数据库动态开发专业教程下载 浏览:874
u盘文件被锁怎么消除 浏览:39
前三季度gdp数据广东什么时候公布 浏览:726
ug导出stp文件后显示 浏览:262
struts2文件上传例子 浏览:480
智能粉碎文件名 浏览:625
编程是干什么的适合几岁儿童上 浏览:412
photoshop中文版最新版本 浏览:828
什么app能点播广西卫视 浏览:338
word如何批量放入相应的文件夹 浏览:884
如何在excel一列删除数据 浏览:534
商科学生为什么学编程 浏览:438
压缩文件记录 浏览:967

友情链接