1. 首页>动态要闻 > 信息

怎么把实体类转化为数组

作者:高熙远
2020-05-14
信息

1. 如何把一个类数组对象转换成数组

在利用jQuery EasyUI框架进行程序开发时,碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray_to_array)将对象数组转换成普通数组。

function objarray_to_array($obj) {$ret = array();foreach ($obj as $key => $value) {if (gettype($value) == "array" || gettype($value) == "object"){$ret[$key] = objarray_to_array($value);}else{$ret[$key] = $value;}}return $ret; }。

2. 怎样把一个实体(bean)的值转到一个数组里边

类反射。获得这个bean(无论什么类型)的class对象

然后用class中的方法分别获得成员变量的名称和值,做个循环存到二维数组里面。

具体算法,楼主可以自己想想,不难的。

时间仓促 我写了一个比较粗糙的,你看明白了可以自己写个更好的^_^

import java.lang.reflect.*;

class testBean {

private int mem1;

private String mem2;

public testBean(int i,String s) {

mem1=i;

mem2=s;

}

public String getMem2() {

return mem2;

}

public void setMem2(String mem2) {

this.mem2 = mem2;

}

public int getMem1() {

return mem1;

}

public void setMem1(int mem1) {

this.mem1 = mem1;

}

}

public class Test {

public static String[][] BeanToStringArray(Object o){

String[][] retArray = null;

Class cls = o.getClass();

Field[] member = cls.getDeclaredFields();

retArray = new String[member.length][2];

for (int i=0;iretArray[i][0] = member[i].toString();//获取成员变量的名称

member[i].setAccessible(true);

try {

retArray[i][1] = member[i].get(o).toString(); //获取成员变量的值

} catch (IllegalArgumentException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

}

return retArray;

}

public static void main(String[] args){

testBean bean = new testBean(1,"abc");

String[][] ret = Test.BeanToStringArray(bean);

for(int i=0;ifor(int j=0;jSystem.out.print(ret[i][j]);

System.out.print("---");

}

System.out.println();

}

}

}

3. linq 如何读取某个实体类的属性然后转化为数组

假如 db为dbml文件对象

LIst<entity> lists=db.entity.toList();//得到所有对象的集合

len=lists.count();//得到对象的个数

var [] emails=new string [len];//申明一个和对象一样长度的数值

for(int i=0;i<len;i++){

emails[i]=((entity)lists[i]).Email;//想数组中添加值

}

//也可这样用

var arrs=db.user.Select(a=>a.email).,ToArray();

foreach(var a in arrs){

response.write(a)

}

4. 如何将数据实体转换为 JSON 字符串

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

例如:JSON字符串:var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象:var str2 = { "name": "cxh", "sex": "man" };一、JSON字符串转换为JSON对象要使用上面的str1,必须使用下面的方法先转化为JSON对象://由JSON字符串转换为JSON对象var obj = eval('(' + str + ')');或者var obj = str.parseJSON(); //由JSON字符串转换为JSON对象或者var obj = JSON.parse(str); //由JSON字符串转换为JSON对象然后,就可以这样读取:alert(obj.name);alert(obj.sex);特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:var last=obj.toJSONString(); //将JSON对象转化为JSON字符或者var last=JSON.stringify(obj); //将JSON对象转化为JSON字符alert(last);注意:上 面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的 JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript 的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了 String.parseJSON()。

如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

5. 怎么将这段JSON转换为数组

有两种方法实现:(1)直接转换:创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例://假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。

ArrayList persons = new ArrayList();for (int i = 0; i < 3; i++) {persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合}JSonArray array = new JSonArray();// Json格式的数组形式JSonObject obj;//json格式的单个对象形式for (int i = 0; i < persons.size(); i++) {obj = new JSONObject();//依次填充每一个Java实体对象try {obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充obj.put("sex", persons.get(i).getSex());obj.put("married", persons.get(i).getMarried());obj.put("address", persons.get(i).getAddress());array.put(obj);//将JSONObject添加入JSONArray} catch (JSonException e) {e.printStackTrace();}}(2)通过GSON工具实现:只需要创建GSON对象,通过toJson方法转换即可。如例://模拟Java数据Person person = new Person("敏敏", 23, "女", "北京市海淀区");//创建GSON对象Gson gson = new Gson();//调用toJson方法即可转换为字符串的json格式String json = gson.toJson(person);。

6. 如何把JSON对象转成数组

有两种方法实现:

(1)直接转换:

创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:

//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。

ArrayList<Person> persons = new ArrayList<Person>();

for (int i = 0; i < 3; i++) {

persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合

}

JSonArray array = new JSonArray();// Json格式的数组形式

JSonObject obj;//json格式的单个对象形式

for (int i = 0; i < persons.size(); i++) {

obj = new JSonObject();

//依次填充每一个Java实体对象

try {

obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充

obj.put("sex", persons.get(i).getSex());

obj.put("married", persons.get(i).getMarried());

obj.put("address", persons.get(i).getAddress());

array.put(obj);//将JSONObject添加入JSONArray

} catch (JSonException e) {

e.printStackTrace();

}

}

(2)通过GSON工具实现:

只需要创建GSON对象,通过toJson方法转换即可。如例:

//模拟e68a84e8a2ade799bee5baa6e79fa5e9819331333363383935Java数据

Person person = new Person("敏敏", 23, "女", "北京市海淀区");

//创建GSON对象

Gson gson = new Gson();

//调用toJson方法即可转换为字符串的json格式

String json = gson.toJson(person);

推荐阅读
  • 日照好玩的地方和吃海鲜应该去哪听说日

    日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…

    信息 2024-09-20
  • 什么是铸造

    铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…

    信息 2024-09-20
  • 变形金刚中博派和狂派各有哪些人物

    博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…

    信息 2024-09-20
  • 一平方毫米的铜线能过多少安的电流

    1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…

    信息 2024-09-20
  • 中华人民共和国城乡规划法第四十条有规

    自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…

    信息 2024-09-20