httppipeline 완료, mqttPipeline 개발 중. test 코드 작성 필요
This commit is contained in:
@@ -41,10 +41,19 @@ namespace UVC.Data
|
||||
|
||||
// 재귀 호출 제한하기 위한 설정 추가
|
||||
private int maxRecursionDepth = 10;
|
||||
private int currentDepth = 0;
|
||||
|
||||
private DataMask mask;
|
||||
|
||||
/// <summary>
|
||||
/// 대용량 JSON 데이터를 스트리밍 방식으로 처리할지 여부를 나타내는 속성입니다.
|
||||
/// </summary>
|
||||
public bool SupportsStreamParsing { get; internal set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 대용량 JSON 스트림을 판단 할때 스트림 길이가 이 값보다 크면 스트리밍 방식으로 처리합니다.
|
||||
/// </summary>
|
||||
public int SupportsStreamLength { get; internal set; } = 10000;
|
||||
|
||||
/// <summary>
|
||||
/// DataMapper 클래스의 새 인스턴스를 초기화합니다.
|
||||
/// </summary>
|
||||
@@ -116,7 +125,7 @@ namespace UVC.Data
|
||||
/// </summary>
|
||||
/// <param name="jsonStream">JSON 데이터 스트림</param>
|
||||
/// <returns>매핑된 DataObject</returns>
|
||||
public DataObject MapStream(System.IO.Stream jsonStream)
|
||||
public DataObject MapObjectStream(System.IO.Stream jsonStream)
|
||||
{
|
||||
using (var reader = new Newtonsoft.Json.JsonTextReader(new System.IO.StreamReader(jsonStream)))
|
||||
{
|
||||
@@ -126,6 +135,21 @@ namespace UVC.Data
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 대용량 JSON 데이터를 스트리밍 방식으로 매핑합니다.
|
||||
/// </summary>
|
||||
/// <param name="jsonStream">JSON 데이터 스트림</param>
|
||||
/// <returns>매핑된 DataObject</returns>
|
||||
public DataArray MapArrayStream(System.IO.Stream jsonStream)
|
||||
{
|
||||
using (var reader = new Newtonsoft.Json.JsonTextReader(new System.IO.StreamReader(jsonStream)))
|
||||
{
|
||||
var serializer = new Newtonsoft.Json.JsonSerializer();
|
||||
var sourceArray = serializer.Deserialize<JArray>(reader);
|
||||
return Mapping(sourceArray);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 객체를 재귀적으로 매핑합니다.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user