当前位置: 首页 > 面试题库 >

如何使用json.net将c#泛型列表转换为json?

竺承望
2023-03-14
问题内容

我将数据表转换为C#通用列表。

 DataTable dt = mydata();
 List<DataRow> list = dt.AsEnumerable().ToList();

现在如何list使用json.net 将其转换为json?任何建议。

json格式的样本应该像这样,

{"Table" : [{"userid" : "1","name" : "xavyTechnologies","designation" : "",
"phone" : "9999999999","email" : "test@test.com","role" : "Admin","empId" : "",
 "reportingto" : ""},{"userid" : "2","name" : "chendurpandian","designation" :
 "softwaredeveloper","phone" : "9566643707","email" : "chendur.pandia@gmail.com",
 "role" : "Super User","empId" : "1","reportingto" : "xavyTechnologies"},
{"userid" : "3","name" : "sabarinathan","designation" : "marketer","phone" :
"66666666666","email" : "bala3569@gmail.com","role" : "User",
 "empId" : "2","reportingto" : "chendurpandian"}]}

问题答案:

这是一个例子:

using System;
using System.Data;
using Newtonsoft.Json.Linq;

class Test
{
    static void Main()
    {
        DataTable table = new DataTable();
        table.Columns.Add("userid");
        table.Columns.Add("phone");
        table.Columns.Add("email");

        table.Rows.Add(new[] { "1", "9999999", "test@test.com" });
        table.Rows.Add(new[] { "2", "1234567", "foo@test.com" });
        table.Rows.Add(new[] { "3", "7654321", "bar@test.com" });

        var query = from row in table.AsEnumerable()
                    select new {
                        userid = (string) row["userid"],
                        phone = (string) row["phone"],
                        email = (string) row["email"]            
                    };

        JObject o = JObject.FromObject(new
        {
            Table = query
        });

        Console.WriteLine(o);
    }
}

文档: 使用Json.NET的LINQ to
JSON



 类似资料:
  • 我正在修改open JDK以添加特性,我已经遇到了两次,但没有好的解决方案。

  • 我在我的一个实用程序类中有一个方法,它接受一个集合和一个类对象,并返回一个Iterable实例,该实例可以遍历作为指定类实例的集合的所有成员。其签名为: 这对于大多数用例都非常有效,但现在我需要将其与泛型类

  • 我有JSON数据表单响应如下所示 包含 编辑:我的项目中的每个响应总是以加密字符串的形式接收,这就是为什么我必须自己映射响应,而不能将响应类型放在方法中。这是我的函数的样子

  • 问题内容: 如果我有以下两套代码,如何将它们粘合在一起? 如何使用x中连续的元素列表调用c_function?我试图将x强制转换为c_void_p,但这没有用。 我也尝试使用类似 但这会出现语法错误。 C代码显然想要一个数组的地址。我如何做到这一点? 问题答案: 以下代码适用于任意列表:

  • 问题内容: 我必须将我们的j2ee应用程序与REST Web服务集成在一起。我想使用JBoss的RestEasy JAX- RS实现。Web服务返回JSON格式的数组。我有这段代码: 我可以将此“响应”对象映射到使用RestEasy吗?谢谢 问题答案: 如果您的JSON提供程序能够转换为适当的实体,那么可以。您在代码中调用的方法具有重载的版本,该版本接受将结果转换为的实体类。由于序列化某些集合的实

  • 问题内容: 我知道我可以使用,但是,我需要窥视对象的(可能不是第一个参数),以确定要转换的特定类。本质上,我想做的是这样的: 问题答案: 首先将JSON解析为JObject。然后使用LINQ to JSON 查找属性。然后根据值切换并使用进行强制转换: