怎样用C#把JSON数据转换为list或数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用C#把JSON数据转换为list或数组相关的知识,希望对你有一定的参考价值。

//导入这个命名空间

using System.Web.Script.Serialization;

//这个命名空间需要引用几个,System.Web.XXX,具体我也记不了是哪几个,

//你看到System.Web.xxx的都引用。之后自己去掉没报错就是不需要的。

//导入命名空间完后,你可以这样声明对象

javascriptSerializer js = new JavaScriptSerializer();

//然后调用Json数据转对象的方法

//strJson 是Json字符串数据(这里需要JSON是数组数据的前提下)

List<string> list = js.Deserialize<List<string>>(strJson);

//这里主要说一下js.Deserialize<T>(string); //T(泛型)是需要转换成的对象(数组,List,OBJECT)

//string 是Json字符串数据

//这个方法返回的是T类型对象。(定义什么返回什么)

C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

参考技术A //导入这个命名空间
using System.Web.Script.Serialization;
//这个命名空间需要引用几个,System.Web.XXX,具体我也记不了是哪几个,
//你看到System.Web.xxx的都引用。之后自己去掉没报错就是不需要的。

//导入命名空间完后,你可以这样声明对象
JavaScriptSerializer js = new JavaScriptSerializer();

//然后调用Json数据转对象的方法
//strJson 是Json字符串数据(这里需要JSON是数组数据的前提下)
List<string> list = js.Deserialize<List<string>>(strJson);

//这里主要说一下js.Deserialize<T>(string); //T(泛型)是需要转换成的对象(数组,List,OBJECT)
//string 是Json字符串数据
//这个方法返回的是T类型对象。(定义什么返回什么)

//说完Json数据转对象,再说说对象转JSON字符串数据
//object 是需要转成Json字符串数据的对象
string strJson = js.Serialize(object);

请参考这个http://blog.csdn.net/yyixin/article/details/7243472
手机码字,忘采纳,不懂点追问。😀本回答被提问者采纳

在Java中怎样把数组转换为ArrayList

方法一:

ArrayList list = new ArrayList(Arrays.asList(array));

方法二:

public List getList(Object[] obj)throws Exception
        List list = new ArrayList();
        for(int i=0;i<obj.length;i++)
            list.add(obj[i]);
        return list;

参考技术A     private ArrayList<String> getArray(String[] str) 
        ArrayList<String> array = new ArrayList<String>();
        for (int i = 0; i < str.length; i++) 
            array.add(str[i]);
        
        return array;
    

根据你自己的需要,更改ArrayList内部的数据类型和数组的数据类型

参考技术B arraylist本身就是一个数组

只不过长度不定,可自动增长
参考技术C 参考Java API 原话:
public static <T> List<T> asList(T... a)
返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直接写”到数组。)
此方法同 Collection.toArray() 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。

例子:
public static void main(String[] args)
// 数组转换为List,其中参数为任意类型
List<String> list = Arrays.asList(new String[]"ss","sss");
// List转换为数组,参数指定数组的类型
String[] a = list.toArray(new String[0]);
// 打印
System.out.println(list);
for(String b : a)
System.out.print(b+" ");


本回答被提问者和网友采纳

以上是关于怎样用C#把JSON数据转换为list或数组的主要内容,如果未能解决你的问题,请参考以下文章

怎样将JAVA中得list集合转换为javascript的二维数组?

C# 把list中的数据转成规定格式的json格式

c#如何把json值转化成jarray

android怎么直接把json转换为list

一个java对象内包含一个对象集合 用json-lib框架怎么转换成JSON数据格式

Newtonsoft.Json把含有集合的对象转换成json