使用Json.net将项添加到JSON

Add items to JSON using Json.net

使用json.net,我创建了一个json字符串,它是我的数据表的序列化版本,并且能够将其反序列化回数据表。 假设我的序列化文本如下所示:

1
2
3
[{ username:"alan", firstName:"Alan", lastName:"Johnson", email:"[email protected]" },
{ username:"allison", firstName:"Allison", lastName:"House", email:"[email protected]" },
{ username:"ryan", firstName:"Ryan", lastName:"Carson", email:"[email protected]" } ]

我想要做的是在[之后]或者在结束之后添加一些文本,这将包含在json文本中,而不是阻止反序列化返回到数据表。

我正在使用serialize命令,有时将类对象作为序列化命令的第二个(可选)参数,有时不会。 如果我使用第二个参数,它会产生更详细的json,其中包括表和列定义信息。

无论哪种方式,我想在json文本中添加一个段,它将指示查找的成功或失败,但不会导致反序列化中断。

任何人都可以建议使用json.net方法吗?

谢谢...


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Users
{
    public string username { get; set; }
    public string firstName { get; set; }
    public string lastName { get; set; }
    public string email { get; set; }
}

dynamic usercollectionWrapper = new
{          
    userList = new List<Users>
    {    
        new Users()
        {
            username="alan", firstName="Alan", lastName="Johnson", email="[email protected]"
        },
        new Users()
        {
            username="allison", firstName="Allison", lastName="House", email="[email protected]"
        },
        new Users()
        {
            username="ryan", firstName="Ryan", lastName="Carson", email="[email protected]"
        }
    }
};

var output = JsonConvert.SerializeObject(usercollectionWrapper);

小提琴:HTTPS://dotnetfiddle.net/aAZ3Ah

更新:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Users
{
    public string username { get; set; }
    public string firstName { get; set; }
    public string lastName { get; set; }
    public string email { get; set; }
}

public class RootUsers
{
    public string status { get; set; }          
    public List<Users> data { get; set; }
}

dynamic usercollectionWrapper = new
{
    add = new RootUsers()
    {
        status ="success",        
        data = new List<Users>
        {    
            new Users()
            {
                username="alan", firstName="Alan", lastName="Johnson", email="[email protected]"
            },
            new Users()
            {
                username="allison", firstName="Allison", lastName="House", email="[email protected]"
            },
            new Users()
            {
                username="ryan", firstName="Ryan", lastName="Carson", email="[email protected]"
            }
        }
    }
};

var output = JsonConvert.SerializeObject(usercollectionWrapper);

小提琴:HTTPS://dotnetfiddle.net/Ic6M1Z