다양한 언어의 JSON
// Javascript
{
"firstitem" : "first data",
"list" : [
"bold",
"italics"
]
}
저는 일반적으로 '객체'
{}
및 '목록'[]
이라고 하는 두 가지 주요 구조를 활용하고 있습니다. 대부분의 언어는 이를 하나 이상의 방법으로 나타낼 수 있습니다. 이러한 구조는 JSON을 생성하지 않지만 라이브러리(이 문서 이후)는 변환을 수행할 수 있습니다.// Lua
{
firstitem = "first data",
list = {
"bold",
"italics"
}
}
Lua는 목록에 대해서도 객체
{}
표기만 있으면 거의 동일합니다. 연관에는 콜론이 아닌 등호가 사용됩니다. 또한 Lua는 JSON, ["first item"] = "first data"
와 같은 공백을 허용하지만 필드 이름을 인용하지 않습니다.// Python
{
'firstitem' : 'first data',
'list' : [
'bold',
'italics'
]
}
Python은 정말 비슷해 보이지만 문자열 리터럴은 큰따옴표가 아니라 작은따옴표입니다. 튜플을 사용하여 목록을 만들 수도 있습니다.
// Python
{
'firstitem' : 'first data',
'list' : (
'bold',
'italics'
)
}
이렇게 하면 목록 구문이 달라지지만 필요한 출력을 얻을 수 있습니다.
// c#
public class Data
{
public string firstitem { get; set; }
public List<string> list { get; set; }
}
C#은 정적 유형 언어이므로 구조와 일치하는 유형을 정의합니다. 그러나 C#에는 다양한 기능이 있으며 훨씬 더 많은 기능을 사용할 수 있습니다.
// c#
new {
firstitem = "first data",
list = new List<string> {
"bold",
"italics",
}
}
// c#
Dictionary<string, object> data = new {
{ "firstitem", "first data" },
{ "list", new List<string> {
"bold", "italics",
}},
};
이것은 속임수입니다.
object
의 사양은 라이브러리 "일반"표현에 데이터를 배치합니다. 예를 들어 Newtonsoft의 Json 라이브러리는 캐스팅할 수 있는 유형에 대해 JObject, JArray를 사용합니다.// D
public class Data
{
public string firstitem;
public string[] list;
}
// D
new class {
auto firstitem = "first data";
auto list = [
"bold",
"italics"
];
}
// D
Variant[string] data = [
"firstitem" : Variant("first data"),
"list" : Variant([
"bold",
"italics",
])
];
모든 유형에
object
표현이 있는 C#과 달리 Auto-Boxing을 사용하는 모든 유형에 대한 부모가 없습니다. 그러나 D는 Variant
유형을 제공합니다. 이 유형은 다른 유형을 보유할 수 있고 명시적으로 생성해야 합니다.
Reference
이 문제에 관하여(다양한 언어의 JSON), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jessekphillips/json-in-different-languages-3in3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)