2012-02-04 4 views
0

문자와 숫자가 포함 된 텍스트 파일이 있습니다. 이 문자 - 숫자 조합은 사용자에 대한 정보를 보유합니다. 예 : "P555636477JohnDoeEA 55687878 9789899 2899298"첫 글자는 Premium, Gold 또는 Simple을 의미하는 "P/G/S"중 하나 일 수 있습니다. 그의 전화 번호와 이름을 따릅니다. E와 A라는 두 문자는 모국어 (영어)와 국적 (미국)을 의미합니다. 그런 다음 등록한 다른 전화 번호를 따릅니다. 3 개 이상의 숫자가있을 수 있습니다. 내 질문은 : JSON 개체로이 정보를 구문 분석하는 가장 좋은 방법은 무엇입니까? 임 정규식과의 StringBuilder를 사용하는 방법에 대한 생각,하지만텍스트 데이터를 Java의 JSON 객체에 입력하십시오.

그것은이 같은

보일 것 ... 마지막에 그 전화 번호를 접근하는 방법 임 확실하지 :

{ "membership": "Premium", 
    "telephone": "555636477", 
    "firstName": "John", 
    "lastName":  "Doe", 
    "otherNumbers": [ 
        {"number:"55687878"}, 
        {"number":"9789899"}, 
        {"number":"2899298"} 
        ] 
} 

답변

1

가장 쉬운이 객체를 만드는 것을하는 이 정보를 보유하고 텍스트 파일을 정규식으로 파싱하고 객체의 적절한 속성을 설정 한 다음 jackson으로 직렬화합니다.

2

마지막 숫자는 sprace 문자로 구분 되나요? 그렇다면 split 메서드를 사용하여 문자열 배열을 가져올 수 있습니다.

그런 다음 첫 번째 입력에는 RegEx를 사용해야하며 다른 모든 항목은 전화 번호입니다.

["P555636477JohnDoeEA", "55687878", "9789899", "2899298"] 

이 그럼 당신은 JSON으로 데이터를 얻을 수 json-lib 또는 다른 라이브러리를 사용할 수 있습니다처럼

배열이 보일 것이다.

+0

글쎄, 어떤 요소 사이에 공백이있을 수 있습니다. – jyriand

+0

데이터가 매번 같은 형식이 아니 었습니까? – tbraun89

+0

순서는 동일합니다 : 회원, 이름, 언어 ... 등등 ... 그러나 중간에 공백이있을 수 있습니다. 마지막 전화 번호는 항상 공백으로 구분됩니다. 그래서 다음과 같이 보일 수도 있습니다 : "P 555636477 JohnDoeE A 55687878 9789899 2899298" – jyriand

관련 문제