【问题标题】:how to convert a list data into json format如何将列表数据转换为json格式
【发布时间】:2013-04-09 07:48:45
【问题描述】:

大家好,我想转换一个包含 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>();

我有一个 flatproduct 列表。

【问题讨论】:

  • 很高兴看到您的 FlatProduct 对象,我们可以轻松猜测这些属性现在代表什么

标签: c# json linq


【解决方案1】:

.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();
                }
            }
        }
    }
}

当然,你可以在FlatProductstring[]中放更多的物品。

【讨论】:

    【解决方案2】:

    你应该使用来自 codeplex 的 Json.NET

    http://json.codeplex.com/

    【讨论】:

      猜你喜欢
      • 2014-02-27
      • 2014-01-23
      • 2021-08-21
      • 2021-07-04
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多