C# Newton json 사용방법 (part -1)
Software/C#2023. 1. 10. 11:45
반응형
장비제어 프로그램 개발시에 시스템의 하드웨어 설정값등을 저장하고 불러 오는 용도로 c++ 개발툴에서는 ini 파일 저장으로 사용하였습니다.
개발언어를 C#으로 변경하고 난후에는 ini 파일보다는 json 이 좀더 좋을듯 하여 코드를 만들어 보았습니다.
아래 코드는 Newtonsoft.Json 을 사용하였습니다. Nuget을 통해 라이브러리를 추가할 수 있습니다.
using Newtonsoft.Json.Linq;
private bool saveConfigData(string FileName)
{
bool result = true ;
var LIVObject = new JObject();
var jsonLIVParam = new JObject();
jsonLIVParam.Add("Start Current", 0) ;
jsonLIVParam.Add("Stop Current", 100) ;
jsonLIVParam.Add("Step Current", 0.1) ;
var jarray = new JArray();
jarray.Add(10);
jarray.Add(20);
jarray.Add(100);
jsonLIVParam.Add("Array", jarray) ;
LIVObject.Add("LIV Test", jsonLIVParam) ;
string st = LIVObject.ToString() ;
using (System.IO.StreamWriter file = new System.IO.StreamWriter(FileName, false))
{
file.WriteLine(st);
}
return result ;
}
private bool loadConfigData(string FileName)
{
bool result = true ;
int index = 0 ;
string text = System.IO.File.ReadAllText(FileName);
JObject jobj = JObject.Parse(text); //문자를 객체화
var startCurrent = int.Parse(jobj["LIV Test"]["Start Current"].ToString()) ;
var stopCurrent = int.Parse(jobj["LIV Test"]["Stop Current"].ToString()) ;
var stopCurrent = float.Parse(jobj["LIV Test"]["Step Current"].ToString()) ;
var arrayData = jobj["LIV Test"]["Array"] ;
int[] arrayValue = new int[arrayData.Count()] ;
foreach(int elememts in arrayData)
{
arrayValue[index++] = elememts ;
}
return result ;
}
위의 코드는 아래와 같은 포맷의 데이타를 저장하고 불러옵니다.
//------------------------------------- JSON Format ---------------------------------------------------
{
"LIV Test": {
"Start Current": 0,
"Stop Current": 100,
"Step Current": 0.1,
"Array": [10, 20, 100]
}
}
반응형
'Software > C#' 카테고리의 다른 글
C# Newton json 사용방법 (part - 2) (0) | 2023.01.27 |
---|---|
Contec 사의 GPIB 카드 (GP-IB(PCI)F) 제어를 위한 Class (C#) (0) | 2023.01.19 |
bitArray 를 사용한 Bit Field 기능 구현 - C# (0) | 2022.12.29 |
C#에서 Excel 제어를 위한 클래스 구현 (0) | 2022.12.29 |
OpenCVSharp을 이용한 LD Bar 의 NFP 알고리즘 (0) | 2022.12.28 |
댓글()