2017-09-04 2 views
0

일부 JSON을 중첩 된 객체에서 문자열로 serialize하려고합니다. 그러나 나는 객체 VB.NET을 사용하여 JSON을 사용하기

Class RequestTaxes 
    Public Property usrname As String 
    Public Property pswrd As String 
    Public Property isAudit As Boolean 
    Public Property currn As String 
    Public Property lines() As TaxLines 
End Class 


Class TaxLines 
    Public Property debCredIndr As Integer 
    Public Property goodSrvCd As String 
    Public Property grossAmt As Double 
    Public Property lnItmId As String 
    Public Property qnty As Double 
    Public Property trnTp As Integer 
    Public Property accntDt As DateTime 
    Public Property custVendName As String 
    Public Property custVendCd As String 
    Public Property orgCd As String 
End Class 

내에 배열에 문제가 있어요 그러나 나는 "라인"목록 주위에 대괄호가 없기 때문에 그것은 거부하는 API에 직렬화 된 문자열을 전달하려고 할 때.

누가 Newtonsoft를 사용할 때 이것을 넣을 사람을 알고 있습니까?

Dim Settings As New JsonSerializerSettings 
Settings.NullValueHandling = NullValueHandling.Ignore 
Dim InputString As String = JsonConvert.SerializeObject(message, Settings) 

는 "메시지"형 RequestTaxes의 인구 객체

+0

정확한 오류 메시지는 무엇을 할 필요가? 나는 이것이 브래킷과 정말로 관련이 있다고 생각하지 않는다. – Plutonix

+1

이것은 [Json을 VB.net으로 직렬 데이터를 deserialize 할 수 없다] (https://stackoverflow.com/a/45388173/3744182)와 중복 될 수 있지만, 우리는 JSON 및 메시지, 추적, 예외 유형 및 내부 예외를 포함하여 예외의 전체'ToString()'출력을 확인하십시오. – dbc

+1

그 질문을 살펴보면, 우리가 볼 수있는 것과 밀접한 관련이 있습니다. 그러나 이것이 속임수 대 직렬화 (serialisation vs deserialising)이기 때문에 틀린 것은 아닙니다. 좋은 발견. –

답변

0

사실

Public Property lines As List(of TaxLines) 
1

나는 당신이 당신의 재산이 조금 떨어져 선언의 생각이 포함되어 있습니다.

Public Property lines() As TaxLines

은 TaxLines는 단일 인스턴스가 아닌 배열을 의미

Public Property lines As TaxLines

에 해당합니다.

당신과 같이 줄의 끝에 괄호를 추가해야합니다

Public Property lines() As TaxLines()