list<model>类型转换为json格式的,在线等大神的帮忙

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list<model>类型转换为json格式的,在线等大神的帮忙相关的知识,希望对你有一定的参考价值。

我在dal层接收的数据是LIST<model>类型,我在js文件要接收的是json类型展现在页面上,那么我在ashx页面是否可以foreach()循环得到每一个对象,然后转换为json对象这种方法可取?怎么样写

参考技术A public class TestJson

public static void main(String[] args)

JavaBeanAndJson();
// ListJavaBeanAndJson();
// JsonAndString();
// JsonAndListString();
// JsonAndListMapString();


/**
* 将json字符串转化成List<Map<String,Object>>对象
*/
private static void JsonAndListMapString()

System.out.println("将json字符串转化成List<Map<String,Object>>对象");

Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("key1", 1);
map2.put("key2", 2);
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.add(map);
list.add(map2);

String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
// 解析json字符串
List<Map<String,Object>> list2 = JSON.parseObject(jsonString, new TypeToken<List<Map<String,Object>>>().getType());


/**
* 将json字符串转化成List<String>对象
*/
private static void JsonAndListString()

System.out.println("将json字符串转化成List<String>对象");

List<String> list = new ArrayList<String>();
list.add("gson1");
list.add("gson2");
list.add("gson3");

String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
// 解析json字符串
List<String> list2 = JSON.parseObject(jsonString, new TypeToken<List<String>>().getType());


/**
* 将json字符串转化成List<String>对象
*/
private static void JsonAndString()

System.out.println("将json字符串转化成List<String>对象");

List<String> list = new ArrayList<String>();
list.add("gson1");
list.add("gson2");
list.add("gson3");

String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
// 解析json字符串
List<String> list2 = JSON.parseObject(jsonString, new TypeToken<List<String>>().getType());


/**
* 将json字符串转化成List<JavaBean>对象
*/
private static void ListJavaBeanAndJson()

System.out.println("将json字符串转化成List<JavaBean>对象");

Person person1 = new Person("1","gson1",1);
Person person2 = new Person("2","gson2",2);

List<Person> lstPersons = new ArrayList<Person>();

lstPersons.add(person1);
lstPersons.add(person2);

// 这里将lsit<javabean>转化成json字符串
String jsonString = JSON.toJSONString(lstPersons);
System.out.println(jsonString);
// 解析json字符串
List<Person> lstPersons2 = JSON.parseObject(jsonString, new TypeToken<List<Person>>().getType());



/**
* 将json字符串转化成JavaBean对象
*/
private static void JavaBeanAndJson()

System.out.println("将json字符串转化成JavaBean对象");

Person person = new Person("1","fastjson",1);

// 这里将javabean转化成json字符串
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString);
// 这里将json字符串转化成javabean对象,
Person person2 = JSON.parseObject(jsonString,Person.class);
System.out.println(person2);

追问

可惜我学的是.NET方面的 有那个方面的吗

追答

没,上网查查啊,应该有这样的例子

本回答被提问者采纳
参考技术B json是干嘛的转来转去的追问

得转化为json格式才能接受到啊 被读取

参考技术C java

http://www.cnblogs.com/xmaomao/p/3184542.html追问

有没有.NET方面的

C#把 DataTable转换为Model实体

    public static List<T> GetModelFromDB<T>( DataTable dt )
        {
            List<T> data = new List<T>();
            foreach (DataRow row in dt.Rows)
            {
                T item = GetItem<T>(row);
                data.Add(item);
            }
            return data;
        }

        /// <summary>
        /// 将DataRow转换成实体对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="dr"></param>
        /// <returns></returns>
        private static T GetItem<T>(DataRow dr)
        {
            try
            {
                Type temp = typeof(T);
                T obj = Activator.CreateInstance<T>();
                foreach (DataColumn column in dr.Table.Columns)
                {
                    foreach (PropertyInfo pro in temp.GetProperties())
                    {
                        if (pro.Name.ToLower() == column.ColumnName.ToLower())
                        {
                            if (dr[column.ColumnName] == DBNull.Value)
                            {
                                pro.SetValue(obj, " ", null);
                                break;
                            }
                            else
                            {
                                pro.SetValue(obj, dr[column.ColumnName], null);
                                break;
                            }
                        }
                    }
                }
                return obj;
            }
           catch(Exception ex)
            {
              throw new Exception(ex.Message)
            }
        }

 

以上是关于list<model>类型转换为json格式的,在线等大神的帮忙的主要内容,如果未能解决你的问题,请参考以下文章

将动态变量转换为 List<model> 或数组

如何将 List 转换为从 List<T> 继承的类型?

C#把 DataTable转换为Model实体

将 List<List<Integer>> 转换为 int[][]

jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法

是否可以将 MVC C# List<int> 转换为 javascript 数组?