2012-11-20 3 views
1

처리 할 구성 파일과 시스템을 설정 중입니다. 현재 가지고있는 파일은 모두 JSON이며 GSON 라이브러리를 사용하여 읽습니다. 내가 뭘하고 싶은건 더 많은 고급 로직을 추가하기위한 규칙을 연결할 수 있도록 설정 파일의 일부를 변경하는 것이다.Java, JSON 및 옵션의 구성 읽기?

예를 들어, 구성 부분이 유사 것이다 (이것은 JSON의 가정, 그러나 명확하게 올바른 구문이 아니다)하지만 사이

Parts: { 
    { 
     { 
      Type: Keyword, 
      Keywords: "a,b,c", 
      UniqueOnly: true, 
      Threshold: 2, 
     } 

     AND 

     { 
      Type: RegEx, 
      Pattern: "^(abc|123)$", 
      UniqueOnly: true, 
      Threshold: 2, 
     } 
    } 
    OR 
    { 
     Type: Keyword, 
     Keywords: "abc", 
     Threshold: 1 
    } 
} 

내부 부품이 적절하게 다시 클래스로 변환 할 수 있습니다 규칙 중첩과 함께 "및"및 "또는"에 대한 옵션을 갖고 싶습니다. 이것은 JSON/GSON 파서로 쉽게 얻을 수있는 것입니까, 아니면 처음부터 완전히 독자적인 독자를 작성해야 할 필요가 있습니까?

답변

0

이 상황에서 유효한 JSON을 사용하거나 JSON을 전혀 사용하지 않을 것입니다. 나는 너를 괴롭히기 위해 노력했고 그걸 gist에 올려 놓았다. 결과 직렬화 및 비 직렬화 된 JSON은 다음과 같습니다.

{ 
    "combOperation": "OR", 
    "elements": [ 
    { 
     "combOperation": "AND", 
     "elements": [ 
     { 
      "regex": "^[a-zA-Z]*", 
      "uniqueOnly": false, 
      "threshold": 1 
     }, 
     { 
      "keyWord": "BarFoo", 
      "uniqueOnly": false, 
      "threshold": 5 
     } 
     ] 
    }, 
    { 
     "keyWord": "FooBar", 
     "uniqueOnly": true, 
     "threshold": 2 
    } 
    ] 
}