【问题标题】:How to format a list of int into a Json object如何将 int 列表格式化为 Json 对象
【发布时间】:2019-12-14 07:00:45
【问题描述】:

我有一个来自前端的整数列表:

List<int> IDs = [1,76,103];

如何在 C# 中将其格式化为 Json 对象,同时为每个值添加名称,例如:

[
  {
    "ID": 1
  },
  {
    "ID": 76
  },
  {
    "ID": 103
  }
]

【问题讨论】:

  • JSON 不是一种格式。是序列化数据,所以序列化列表
  • 序列化给出了这个:[1,2067,2081,2087,2091,2092,2093],但我想要每个值的名称,例如:[{"ID":1},{ "ID":76},{"ID":103}]
  • 那么你需要一个类来保存整数,该属性将被命名为ID

标签: c# arrays .net json list


【解决方案1】:

我可以通过使用 Linq 来解决这个问题,然后像这样进行序列化:

var json = JsonConvert.SerializeObject(IDs.Select(a => new
            {
                ID = a
            }));

【讨论】:

  • 我认为你的解决方案最简单更好。
【解决方案2】:

类似的东西(见https://dotnetfiddle.net/NGAJKu):

using System;
using System.Collections.Generic;
using Newtonsoft.Json;

public class Program
{
    public static void Main()
    {
        var theReturn = new List<MyObject>{
            new MyObject{ID = 1},
            new MyObject{ID = 2},
            new MyObject{ID = 3}
        };
        Console.WriteLine(JsonConvert.SerializeObject(theReturn));
    }

    public class MyObject
    {
        public int ID
        {
            get;
            set;
        }
    }
}

输出:

[{"ID":1},{"ID":2},{"ID":3}]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 2017-03-07
    • 2015-02-19
    • 2016-12-22
    • 2022-01-19
    相关资源
    最近更新 更多