繁体   English   中英

C# 列表<string>到 JSON 个对象</string>

[英]C# List<string> to JSON objects

我有一个字符串列表,打印出来:

[“测试 1”、“测试 2”、“测试 3”]

我 go 如何将此数据转换为此 JSON 格式?

[{“值”:“TEST1”},{“值”:“TEST2”},{“值”:“TEST3”}]

我不打算创建 object。

也尝试过使用字典和键值对。

那这个呢?

using System;
using System.Linq;
using System.Text.Json;
                    
public class Program
{
    public static void Main()
    {
        var list = new [] {"TEST1","TEST2","TEST3" };
        var str = JsonSerializer.Serialize(list.Select(l => new { Value = l }));
        Console.WriteLine(str);
    }
}

你可以试试这个

List<string> tests = new List<string> { "TEST1", "TEST2", "TEST3"};

string json = JsonConvert.SerializeObject( tests.Select( t=> new { value = t }));

但我强烈建议创建一个 class

string json = JsonConvert.SerializeObject( tests.Select( t => new Test { value = t}));

   // or if you are using System.Text.Json
string json = JsonSerializer.Serialize(tests.Select(  t=>n ew Test { value = t }));
    
public class Test
{
    public string value {get; set;}
}

json

[{"value":"TEST1"},{"value":"TEST2"},{"value":"TEST3"}]

与其他基本相同,但使用foreach

public static string[] TestArray = new[] { "TEST1", "TEST2", "TEST3", };

public static string Test()
{
    var data = new List<object>(TestArray.Length);
    foreach (var item in TestArray)
    {
        data.Add(new { @value = item });
    }
    var result = JsonSerializer.Serialize(data);
    return result;
}

给出:

[
  {
    "value": "TEST1"
  },
  {
    "value": "TEST2"
  },
  {
    "value": "TEST3"
  }
]

它使用System.Text.Json ,但如果您使用 Newtonsoft 序列化程序,它应该会得到相同的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM