JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。引用于[http://www.json.org/json-zh.html]

一般应用中,我习惯性地把结果集以更通用的IList<object>对象列表方式保存(可能会对性能有些影响)来保证类间交互时的通用性,降低函数功能对具体类的耦合。但AJAX调用时,还需要把对象列表转换成JSON数据交给前端显示。有麻烦。

     研究了一下JSON的对象定义和集合定义

将List对象列表转换成JSON格式的类

将List对象列表转换成JSON格式的类 

     感觉利用反射来生成JSON还比较方便。代码如下:

 

92 

 OK,我们建立一个测试来验证一下它是否生效。

先建立一个对象定义person.cs

 Model
{
    public class Person
    {
        
public string ID { getset; }
        
public string Name { getset; }
        
public string Sex { getset; }
    }
}

然后建立测试类

我用了一种非常原始的方法生成了对象列表,其实可以从数据库查询,怕把事情搞得太复杂。呵呵。

 JSon
{
    [TestFixture]
    public class TestObjectToJSON
    {
        [Test]
        
public void dotest() {
            Model.Person p1 
= new Model.Person();
            p1.ID 
= "1";
            p1.Name 
= "p1";
            p1.Sex 
= "s1";
            Model.Person p2 
= new Model.Person();
            p2.ID 
= "2";
            p2.Name 
= "p2";
            p2.Sex 
= "s2";

            Model.Person p3 
= new Model.Person();
            p3.ID 
= "3";
            p3.Name 
= "p3";
            p3.Sex 
= "s3";
            List
<object> lp = new List<object>();
            lp.Add(p1);
            lp.Add(p2);
            lp.Add(p3);

            ObjectListToJSON t 
= new ObjectListToJSON();
            
string json = t.toJSON(lp, "persons");
            System.Console.Write(json);
        }
    }
}

跑一下Nuint,我们想要的json串已经生成了。

将List对象列表转换成JSON格式的类

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-12-31
  • 2022-12-23
  • 2022-12-23
  • 2022-01-02
猜你喜欢
  • 2022-01-02
  • 2022-01-02
  • 2022-01-02
  • 2021-08-07
  • 2021-11-18
  • 2021-11-18
  • 2022-01-02
相关资源
相似解决方案