C #에서 JSON 배열 만들기
좋아, 그래서 나는 http 연결을 통해 POST 명령을 보내려고하고 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" }
};
결과적으로 데이터 구조를 변경해야하는 경우 여러 번 변경할 필요가 없습니다.
추신 다음 은 복잡한 json
s를 위한 아주 좋은 도구입니다.
또한 익명 유형 (나는 이것을 선호 하지 않음) 을 사용하여 이것은 또 다른 접근 방식입니다.
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
'code' 카테고리의 다른 글
Artifactory 저장소에서 최신 아티팩트를 다운로드하는 방법은 무엇입니까? (0) | 2020.12.15 |
---|---|
단위 테스트를 위해 패치를 사용하여 두 함수를 조롱 (0) | 2020.12.15 |
JSON 응답이있는 URL에 NodeJS HttpGet (0) | 2020.12.15 |
다중 생성자 : 파이썬 방식? (0) | 2020.12.15 |
Rails의 라디오 버튼 (0) | 2020.12.15 |