1

大家好,我想转换一个包含 36 行值的列表,我想以这样的特定格式更改它

"rows": [{
    "id": 1,
    "cell": ["1", "Super Item", "300", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test27", 0, null, false, false]
  }, {
    "id": 2,
    "cell": ["2", "Item 1", "100", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 1, 1, false, false]
  }, {
    "id": 3,
    "cell": ["3", "Sub Item 1", "50", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 2, 2, true, true]
  }, {
    "id": 4,
    "cell": ["4", "Sub Item 2", "25", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 2, 2, false, false]
  }, {
    "id": 5,
    "cell": ["5", "Sub-sub Item 1", "25", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 3, 4, true, true]
  }, {
    "id": 6,
    "cell": ["6", "Sub Item 3", "25", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 2, 2, true, true]
  }, {
    "id": 7,
    "cell": ["7", "Item 2", "200", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 0, null, false, false]
  }, {
    "id": 8,
    "cell": ["8", "Sub Item 1", "100", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 1, 7, false, false]
  }, {
    "id": 9,
    "cell": ["9", "Sub-sub Item 1", "50", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 2, 8, true, true]
  }, {
    "id": 10,
    "cell": ["10", "Sub-sub Item 2", "50", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 1, 8, false, true]
  }, {
    "id": 11,
    "cell": ["11", "Sub Item 2", "100", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 2, 8, true, true]
  }, {
    "id": 12,
    "cell": ["12", "Super Item", "300", "test", "test1", "test2,", "test3,", "test4", "test5", "test6", "test7", "test8", "test9", "test11", "test12", "test13", "test14", "test15", "test16", "test17", "test18", "test19", "test20", "test21", "test22", "test23", "test24", "test25", "test26", "test26", 0, null, false, false]
  }
]

我怎样才能把这个列表变成像这种格式的 json

var res = new List<FlatProduct>();

我有一个平面产品列表。

4

2 回答 2

2

.NET 3.5 开箱即用地支持 JSON 序列化。您必须参考System.Runtime.SerializationSystem.ServiceModel.Web

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Text;

namespace ConsoleApplication1
{
    [DataContract]
    public class FlatProduct
    {
        [DataMember]
        public string id { get; set; }

        [DataMember]
        public string[] cell { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var flatProducts = new List<FlatProduct>
            {
                new FlatProduct { id = "1", cell = new string[2]{"1", "Super Item"} },
                new FlatProduct { id = "2", cell = new string[2]{"2", "Item 1"} }
            };
            var serializer = new DataContractJsonSerializer(flatProducts.GetType());
            using(MemoryStream stream = new MemoryStream())
            {
                serializer.WriteObject(stream, flatProducts);
                stream.Seek(0, SeekOrigin.Begin);

                using (var streamReader = new StreamReader(stream))
                {
                    string result = streamReader.ReadToEnd();
                }
            }
        }
    }
}

当然,您可以在 中放置更多string[]项目FlatProduct

于 2013-04-09T08:45:40.647 回答
1

您应该使用 codeplex 中的 Json.NET

http://json.codeplex.com/

于 2013-04-09T07:54:03.363 回答