namespace ConsoleApp4
{
publicclass Rootobject
{
public Test test { get ; set ; }
publicint a { get ; set ; }
publiclong b { get ; set ; }
}
publicclass Test
{
publicint a { get ; set ; }
publicfloat b { get ; set ; }
publicstring t { get ; set ; }
}
class Program
{
staticvoid Main( string [] args)
{
var obj = new Rootobject { a = 555 , b = long .MinValue, test = new Test { a = 10 , b = 0.369 F, t = "Hi" } };
string json = JsonSerializer.Serialize<Rootobject>(obj);
Console.WriteLine(json);
Console.ReadLine();
}
}
}
Сериализация и десериализация JSON-протокола. Портированный код со скоростной библиотеки С++. Практичный пример: авторизация на сайте и парсинг ответа Благодарности принимаются в виде примеров, кто как применяет MQL для работы с веб-ресурсами. Поделитесь своим опытом работы с JSON в MQL. В протокол добавлены функции Escape / Unescape...
{ "test" :[
" {" a ":0," b ":0.0," t ":"0"} " ,
" {" a ":1," b ":0.1," t ":"2"} " ,
" {" a ":2," b ":0.2," t ":"4"} " ,
" {" a ":3," b ":0.3," t ":"6"} " ,
" {" a ":4," b ":0.4," t ":"8"} " ],
"a" : 555 , "b" :- 9223372036854775808 }
KB에 넣어
IMHO, 필요한 것!
json은 잘 정립된 형식이며 C# 및 MQL에서 100% 일대일 클래스를 가질 수 있고 런타임에 모델 로드를 구성할 수 있어 편리합니다. 지금은 이 방향으로 연결합니다.
하지만 여기 저기 바이너리 데이터를 구동하려면 .... 글쎄, 그것은 더 이상 참신하지 않고 게으른 사람들 만이 할 수없는 것 같습니다))))
추신: Python은 json에서도 문제 없이 작동하는 것 같습니다. Metaquotes가 pythonists에게 새로운 MT5 기능을 제공한 것이 확실하지 않습니다. 어리석게도 과거 데이터를 펌핑합니까? - 의미? 문제가 아니었어
게으름. 거기에서 몇 시간 동안 "파일"로 잘라야하지만 나에게는 아직 (json) 및 nafik이 떨어지지 않았습니다.
씨#
결과:
씨#
{"테스트":{"a":10,"b":0.368999988,"t":"안녕"},"a":555,"b":-9223372036854775808}
MQL:
{"테스트":{"a":10,"b":0.369,"t":"안녕"},"a":555,"b":-9223372036854775808}
확실히 마법사!
;)
내 위시리스트가 이미 지겹다고 생각하지만 객체 배열이 필요합니다.
나 자신, 나는 할 수 없다
다음과 같은 예가 필요합니다.
결과는 다음과 같아야 합니다.
{"테스트":[{"a":4,"b":0.4,"t":"8"},{"a":3,"b":0.3,"t":"6"}, {"a":2,"b":0.2,"t":"4"},{"a":1,"b":0.1,"t":"2"},{"a":0 ,"b":0.0,"t":"0"}],"a":555,"b":-9223372036854775808}
내 위시리스트가 이미 지겹다고 생각하지만 객체 배열이 필요합니다.
나 자신, 나는 할 수 없다
말해주세요, 제가 어딘가에서 놓쳤을 수도 있지만, 그래도,
json의 직렬화/역직렬화를 위한 기성품 솔루션과 정확히 맞지 않는 것은 무엇입니까?
말해주세요, 제가 어딘가에서 놓쳤을 수도 있지만, 그래도,
json의 직렬화/역직렬화를 위한 기성품 솔루션과 정확히 맞지 않는 것은 무엇입니까?
KB에서 솔루션은 json에서 개체 필드의 독립적인 형성을 의미합니다.
@Vladimir Simakov 가 제안한 솔루션에서 더 편리하게 수행됩니다.
KB에서 솔루션은 json에서 개체 필드의 독립적인 형성을 의미합니다.
@Vladimir Simakov 가 제안한 솔루션에서 더 편리하게 수행됩니다.
당신은 "자기 형성"이라는 용어에 대해 매우 구체적으로 이해하고 있습니다.
분명히 당신의 작업이 당신을 위해 해결되었고 당신이 그것을 맛볼 수 있기 때문에 솔루션이 더 편리합니다 ...
당신은 "자기 형성"이라는 용어에 대해 매우 구체적으로 이해하고 있습니다.
분명히 당신의 작업이 당신을 위해 해결되었고 당신이 그것을 맛볼 수 있기 때문에 솔루션이 더 편리합니다 ...
무엇이 당신을 이끌었는지 추측하기 어렵습니다. 도움을 주고 싶었습니다 - 도움이 되었고, 원하지 않았습니다 - 주제를 닫고 그의 사업에 대해 이야기했습니다.
그리고 다시 한 번 포럼 참가자들의 개인적인 특성에 대해 논의하려고 .... 일반적으로 "결혼해야 합니다, 선생님!" (c) - 할 일이 없을 때 머리를 굴릴 사람이 있을 것입니다.
주제별:
대괄호를 삽입할 위치를 선택하면 결과가 참담합니다.
선택하는 것이 지겹다면 더 더러운 트릭으로 []를 삽입하겠습니다.)))
무엇이 당신을 이끌었는지 추측하기 어렵습니다. 도와주고 싶었습니다 - 도움이 되었고, 원하지 않았습니다 - 주제를 닫고 그의 사업에 대해 이야기했습니다
그리고 다시 한 번 포럼 참가자들의 개인적인 특성에 대해 논의하려고 .... 일반적으로 "결혼해야 합니다, 선생님!" (c) - 할 일이 없을 때 머리를 굴릴 사람이 있을 것입니다.
주제별:
대괄호를 삽입할 위치를 선택하면 결과가 참담합니다.
선택하는 것이 지겹다면 더 더러운 트릭으로 []를 삽입하겠습니다.)))
직렬화 가능한 객체에 대한 포인터 처리를 동시에 수정하고 추가했습니다.
추신. "코드 베이스"에 넣어야 할 것 같습니다))))
다음과 같이 필요합니다(줄 바꿈이 필요하지 않습니다. 수동으로 추가했습니다).
이제 다음과 같이:
추신. 이것은 "코드베이스"에 배치되어야 할 것 같습니다))))
IMHO, 잘했습니다. 물론 질문이 있습니다. 얼마나 빨리 했는지 .... 이 시간 동안 .... 음, 말하자면, 무엇보다도 감정!
수정된 버전을 확인했습니다. - OK, 모든 것이 올바르게 작동합니다.