【问题标题】:how can I convert a string (json) to look like another string如何将字符串(json)转换为另一个字符串
【发布时间】:2009-11-04 00:50:05
【问题描述】:

我有以下的 json 输出(忽略转义字符)

"{\"sEcho\":1,\"iTotalRecords\":10,\"iTotalDisplayRecords\":10,\"aaData\":[{\"Job\":\"developer\",\"Name\":\"kurt\"},{\"Job\":\"plumber\",\"Name\":\"john\"}]}"

我从中得到的

Person person = new Person();
            person.Name = "kurt";
            person.Job = "developer";

            Person reps2 = new Person();
            reps2.Name = "john";
            reps2.Job = "plumber";

            aa[0] = person;
            aa[1] = reps2;

             var o = new
                         {
                             sEcho = 1,
                             iTotalRecords = 10,
                             iTotalDisplayRecords = 10,
                             aaData = aa

                         };


             string d = JsonConvert.SerializeObject(o);

我需要的是;

{"sEcho":1,"iTotalRecords":10,"iTotalDisplayRecords":10,"aaData":["developer","kurt"],["plumber","john"]]

有人有一个漂亮的 c# 例程,我可以传递任何类型的对象(例如 Person、Car、Widget 等),它会转换它,即删除对象字段、花括号等,或者 Json 上有一些格式化选项我看不到这样做。

我需要这样做的原因是我可以使用来自 www.datatables.net 的数据表,该数据表期望它采用这种格式

谢谢

【问题讨论】:

    标签: c# json


    【解决方案1】:

    我的猜测是,您必须为每个 Person 创建一个 List,而不是 Person 对象,将 Person.Job 作为索引 0,将 Person.Name 作为索引 1。

    List personList = new List<string>();
    personList.add("developer");
    personList.add("kurt");
    List reps2List = new List<string>();
    reps2List.add("plumber");
    reps2List.add("john");
    aa[0] = personList;
    aa[1] = reps2List;
    

    【讨论】:

      【解决方案2】:

      不确定您所说的“对象字段”是什么意思,但这里有一个如何取出花括号的示例......

      public static string MakeJsonLikeStr(object o)
      {
          string json = JsonConvert.SerializeObject(o);
          return json.Replace("{", "").Replace("}", "");
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-11
        • 1970-01-01
        • 2012-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-08
        • 2020-11-30
        相关资源
        最近更新 更多