0

I have to return a JSON string in a c# API which follows like:

{ "model" : 4 , "lang" : "en_US", "parts" : [ { "id" : 1545, "name" : "Part 1", "part_types" : { "type 1" : { "url" : "part.com/type1", "desc" : "has 6 bits" }, "type 2" : { "url" : "part.com/type2", "desc" : "has 7 bits." } } } ] }

I have a basic structure like:

public class inventory
{
    public int model { get; set; }
    public string lang { get; set; }
    public part[] parts { get; set; }
}

public class part
{
    public int id { get; set; }
    public string name { get; set; }
    public type types { get; set; }
}

public class type
{
    public string url { get; set; }
    public string desc { get; set; }
}

but I keep receiving the output like:

{ "model" : 4 , "lang" : "en_US", "parts" : [ { "id" : 1545, "name" : "Part 1", "part_types" : { "url" : "part.com/type1", "desc" : "has 6 bits" } } ] }

I have 2 issues, one is when I run the API I can only display one type and if I try to make a List it adds [...] as in an array but I don't want an array I have to display a tittle for each type and then the details not in array form.

Second issue is under part_types I can not work out how to display the name of the part type before the details. If I try to add another class the name I set in the class is always displayed and I can not change it.

Any help would be very appreciated.

4

3 に答える 3

2

Visual Studio 2012 と Web Tools 2012.2 以降を使用している場合はPaste JSON As Classes、有効な JSON をコード エディターに貼り付け、[編集] -> [形式を選択して貼り付け] -> [JSON をクラスとして貼り付け] を選択して、C# または VB を生成できるという機能があります。貼り付けた JSON 構造を生成する NET クラス。

詳細と手順については、「ASP.NET および Web ツール 2012.2 の JSON をクラスとして貼り付け」を参照してください。

于 2013-07-24T05:33:23.200 に答える
0

すべての回答に感謝しますが、この質問に答えることができる別の質問から別の回答を受け取りました。

この質問に従って答えを見てください

使用する:

public Dictionary<string, type> part_types { get; set; }
于 2013-07-26T09:50:53.643 に答える