2013-07-15 1 views
4

내 개체에 대한 JSON 스키마를 생성 할 JSON.Net JsonSchemaGenerator를 사용하는 경우 :JSON 닷넷 (배열로 형) 잘못 스키마를 생성

Public Class Host 
    Public Property uid() As String 
End Class 

그것은 문자열의 배열로 type 속성을 생성

{ 
    "type": "object", 
    "properties": { 
     "uid": { 
      "required": true, 
      "type": [ 
       "string", 
       "null" 
      ] 
     } 
    } 
} 

적절한 JSON 스키마는 다음과 같아야합니다

{ 
    "type": "object", 
    "properties": { 
     "uid": { 
      "required": true, 
      "type": "string" 
     } 
    } 
} 

사람은 전에 본 적이 있습니까?

답변

4

문자열 배열이 아니므로 nullable string입니다.

{ "type": [ "string", "null" ] }은 valus가 문자열 또는 null임을 나타냅니다. 문자열 배열은 { "type": "array", "items": { "type": "string" } }

+0

아 예입니다. 고맙습니다. 유효한 nullable 문자열 유형으로 "유형": [ "string", "null"]을 설명하는 문서 (다른 링크)를 찾을 수 없습니다. 그러나 나는 당신의 말을 들어 줄 것입니다. –

+1

사실, 이제 문제가 생겼습니다. 스키마가 유형의 배열로 "유형"을 생성 중입니다. 유효한 JSON 스키마입니까? 내가 사용하고있는 프레임 워크는 : "name": { "title": "Name", "description": "성명을 입력하십시오.", "type": "string"과 비슷한 스키마를 찾고 있습니다. "required": true }'속성을 nullable이 아닌 형식으로 변경하려면 어떻게해야합니까? 필요한 속성이 설정되어 있습니까? –

+1

[타입의 배열은 사양에 있습니다] (http://json-schema.org/latest/json-schema-validation.html#anchor79), 생성 된 스키마가 올바르게 보입니다. JSON 스키마는 현재 초안이며 도구의 적합성이 크게 달라질 수 있습니다. JSON.NET에서 생성 된 스키마를 사용하여 검증 해보십시오. – Athari