簡體   English   中英

我如何將一個字符串(json)轉換為另一個字符串

[英]how can I convert a string (json) to look like another string

我有以下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中的數據表了,它期望以這種格式

謝謝

我的猜測是,您必須為每個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;

不知道“對象字段”是什么意思,但是這里有一個如何取出花括號的示例。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM