C#에서의 JSON 어레이 작성
네, POST 명령어를 http 접속으로 전송하려고 합니다.JSON 포맷을 사용하여 전송하려고 합니다.이것을 C#로 하기 위한 프로그램을 쓰고 있는데, 서버에 JSON으로 전달되는 값의 배열을 어떻게 포맷하면 좋을지 고민하고 있습니다.
현재 가지고 있는 것은 다음과 같습니다.
new {name = "command" , index = "X", optional = "0"}
JSON에서는 다음과 같이 해석됩니다.
"name": "command",
"index": "X",
"optional": "0"
그리고 항목이라고 하는 배열을 만들고 싶습니다.각 요소에는 이 세 가지 값이 포함됩니다.따라서 기본적으로 객체 배열이 됩니다. 객체에는 이름, 인덱스 및 옵션 필드가 포함됩니다.
제 추측으로는 이와 비슷한 뭔가가 있을 것 같았습니다.
new {items = [(name = "command" , index = "X", optional = "0"),
(name = "status" , index = "X", optional = "0")]}
올바른 구문일 경우 JSON에서는 다음과 같이 변환됩니다.
"items":
[
{
"name": "command",
"index": "X",
"optional": "0"
},
{
"name": "status",
"index": "X",
"optional": "0"
}
]
하지만 내가 잘못하고 있는 게 분명해아이디어요? 어떤 도움이라도 고마워요.
거의 다 왔어.이렇게 하면 효과가 있습니다.
new {items = new [] {
new {name = "command" , index = "X", optional = "0"},
new {name = "command" , index = "X", optional = "0"}
}}
소스가 열거형일 경우 다음을 수행할 수 있습니다.
new {items = source.Select(item => new
{
name = item.Name, index = item.Index, options = item.Optional
})};
익명 개체를 사용하는 대신 각 항목에 대한 클래스를 만드는 것이 좋습니다.시리얼화하는 오브젝트에는 이러한 아이템이 배열되어 있어야 합니다.예:
public class Item
{
public string name { get; set; }
public string index { get; set; }
public string optional { get; set; }
}
public class RootObject
{
public List<Item> items { get; set; }
}
사용방법:
var objectToSerialize = new RootObject();
objectToSerialize.items = new List<Item>
{
new Item { name = "test1", index = "index1" },
new Item { name = "test2", index = "index2" }
};
따라서 데이터 구조를 변경해야 할 경우 여러 번 변경할 필요가 없습니다.
p.s. 여기 복합체를 위한 아주 좋은 도구가 있습니다.json
s
또, Anonymous 타입의 경우(저는 이것을 하고 싶지 않습니다), 이것은 단지 다른 접근법일 뿐입니다.
void Main()
{
var x = new
{
items = new[]
{
new
{
name = "command", index = "X", optional = "0"
},
new
{
name = "command", index = "X", optional = "0"
}
}
};
JavaScriptSerializer js = new JavaScriptSerializer(); //system.web.extension assembly....
Console.WriteLine(js.Serialize(x));
}
결과:
{"items":[{"name":"command","index":"X","optional":"0"},{"name":"command","index":"X","optional":"0"}]}
new {var_data[counter] =new [] {
new{ "S NO": "+ obj_Data_Row["F_ID_ITEM_MASTER"].ToString() +","PART NAME": " + obj_Data_Row["F_PART_NAME"].ToString() + ","PART ID": " + obj_Data_Row["F_PART_ID"].ToString() + ","PART CODE":" + obj_Data_Row["F_PART_CODE"].ToString() + ", "CIENT PART ID": " + obj_Data_Row["F_ID_CLIENT"].ToString() + ","TYPES":" + obj_Data_Row["F_TYPE"].ToString() + ","UOM":" + obj_Data_Row["F_UOM"].ToString() + ","SPECIFICATION":" + obj_Data_Row["F_SPECIFICATION"].ToString() + ","MODEL":" + obj_Data_Row["F_MODEL"].ToString() + ","LOCATION":" + obj_Data_Row["F_LOCATION"].ToString() + ","STD WEIGHT":" + obj_Data_Row["F_STD_WEIGHT"].ToString() + ","THICKNESS":" + obj_Data_Row["F_THICKNESS"].ToString() + ","WIDTH":" + obj_Data_Row["F_WIDTH"].ToString() + ","HEIGHT":" + obj_Data_Row["F_HEIGHT"].ToString() + ","STUFF QUALITY":" + obj_Data_Row["F_STUFF_QTY"].ToString() + ","FREIGHT":" + obj_Data_Row["F_FREIGHT"].ToString() + ","THRESHOLD FG":" + obj_Data_Row["F_THRESHOLD_FG"].ToString() + ","THRESHOLD CL STOCK":" + obj_Data_Row["F_THRESHOLD_CL_STOCK"].ToString() + ","DESCRIPTION":" + obj_Data_Row["F_DESCRIPTION"].ToString() + "}
}
};
언급URL : https://stackoverflow.com/questions/16898731/creating-a-json-array-in-c-sharp
'programing' 카테고리의 다른 글
ui-grid에서 새로 고침 방법을 사용하는 방법 (0) | 2023.03.18 |
---|---|
wp_enqueue_style이 CSS를 로드하지 않았습니다. (0) | 2023.03.18 |
스프링 부트에서 ResponseStatusException을 던질 때 예외 메시지가 응답에 포함되지 않음 (0) | 2023.03.18 |
에서 들여쓰기된 JSON 문자열을 최소화합니다.그물 (0) | 2023.03.18 |
도커: WordPress 컨테이너에 80 이외의 포트를 매핑할 수 없습니다. (0) | 2023.03.18 |