들어오는 데이터를 동적 필드 집합으로 구문 분석해야한다면 어떤 방법을 택해야합니까? 이 필드의 List
을 요청할 수 있으므로 런타임에 필드 및 해당 이름의 양을 알 수 있습니다. 데이터를 구문 분석하고 나중에 사용하는 model
을 생성하는 방법을 모르겠습니다. 제안 해 주셔서 감사합니다.동적 필드 집합을 사용하여 데이터를 구문 분석하는 방법은 무엇입니까?
답변
javabean에서 애트리뷰트 이름/애트리뷰트 값 쌍과 함께 가고 싶지만, 추적하려면 애트리뷰트에 허용되는 값을 나열하는 비즈니스 클래스 (또는 인터페이스)를 추가해야한다.
는 코드가 말하는 보자class Dog {
private List<MyBean> dataSet;
// Enumerate the possible values of MyBean.name for a valid Dog object
public final static String KIND = "kind";
public final static String AGE = "age";
public final static String BARFES = "heBarf";
// Use a convenience Set for checks
public static Set<String> validAttributes;
// Put valid values in the convenience set once for all
static {
// trivial code to initialize the validAttributes set
}
// We won't add setters, better constructing a new object every time
public Dog(List<MyBean> v) {
dataSet = v; // better copying ? as usual it depends on scenarios.
}
// A convenience static to parse a string into this object.
public static Dog parse(String theStream) {
// cannot write since I don't know how is format, but this method can use the enumerations of the attribute names for checking.
}
// Accessor
public int getAge() {
return dataSet.get(Dog.AGE);
}
}
그럼 가능성은 무한하다 : 그 목록 중 하나가 개를 rappresents 경우
class MyBean {
String name;
Object value;
// Getters and setters
}
지금, 우리는 같은 클래스가있을 수 있습니다. 기본 클래스 (List)를 가져 비즈니스 클래스의 기본 클래스 (getter 및 적절한 생성자 추가)로 사용하거나 목록을 개인 데이터 멤버로 사용할 수 있습니다 (숨겨진 상태로 유지하십시오. 직접 입력하지 마십시오. 해당 참조에 대한 액세스).
일부 열거 형을 사용할 수도 있습니다. 중요한 메타 데이타 (이러한 메타 데이타이기 때문에)는 유효한 이름을 추적합니다 (컴파일 검사가 없으므로, 일을 모니터하기 위해 일종의 신속하고 먼지가 필요합니다).
추신 : 실제로는 개념의 증거 일뿐입니다 (아마도 컴파일되지 않을 것입니다).
귀하의 질문에 분명하지 않지만, 나는 대답하려고합니다. 필드 이름을 알고 있으면 명령 행에서 수행되고 매개 변수를 제공하고 값을 검색하므로 수행해야합니다. 구분 기호를 알고 있으면 구문 분석이 쉽습니다. 복잡한 데이터 구조의 경우 정규 표현식을 사용하여 구문을 분석하여 구문 분석 할 수 있습니다.
reflection을 사용할 수 있습니다.
또 다른 쉬운 방법 :
1) for 루프에서 JSON 문자열로 동적 목록을 구문 분석, 또는 필드 이름과 필드 값과 같은 값으로 키지도 대신 목록을 확인하십시오.
2) JSON 문자열 또는지도를 JSON lib으로 변환하십시오.
- 1. Gson을 사용하여 json 목록의 데이터를 구문 분석하는 방법은 무엇입니까?
- 2. Ruby에서 AMF 데이터를 구문 분석하는 방법은 무엇입니까?
- 3. 나쁜 csv 데이터를 구문 분석하는 방법은 무엇입니까?
- 4. 트리에서 구성된 데이터를 구문 분석하는 방법은 무엇입니까?
- 5. 파이썬으로 websocket에서 데이터를 구문 분석하는 방법은 무엇입니까?
- 6. 이 json 데이터를 구문 분석하는 방법은 무엇입니까?
- 7. jackson을 사용하여 json에서 동적 하위 노드를 구문 분석하는 방법은 무엇입니까?
- 8. SAX Parser를 사용하여 작은 부분의 데이터를 구문 분석하는 방법은 무엇입니까?
- 9. ASIHttp 요청을 사용하여 데이터를 구문 분석하는 방법은 무엇입니까?
- 10. iPhone에서 NSXML 파서를 사용하여 XML 데이터를 구문 분석하는 방법은 무엇입니까?
- 11. jquery를 사용하여 html 데이터를 구문 분석하는 방법은 무엇입니까?
- 12. xmlbeans를 사용하여 XML 데이터를 구문 분석하는 방법은 무엇입니까?
- 13. JSON을 구문 분석하는 방법은 무엇입니까?
- 14. 문자열을 Java 트리로 구문 분석하는 방법은 무엇입니까?
- 15. PHP를 사용하여 XML을 구문 분석하는 방법은 무엇입니까?
- 16. PHP를 사용하여 HTML을 구문 분석하는 방법은 무엇입니까?
- 17. Opa를 사용하여 XML을 구문 분석하는 방법은 무엇입니까?
- 18. beautifulsoup를 사용하여 rss를 구문 분석하는 방법은 무엇입니까?
- 19. BeautifulSoup를 사용하여 테이블을 구문 분석하는 방법은 무엇입니까?
- 20. qt를 사용하여 xml을 구문 분석하는 방법은 무엇입니까?
- 21. Nokogiri를 사용하여 페이지를 구문 분석하는 방법은 무엇입니까?
- 22. 문자열을 구문 분석하는 방법은 무엇입니까?
- 23. 비누 객체 데이터를 구문 분석하는 방법은 안드로이드?
- 24. 구분 기호없이 문자열을 구문 분석하는 방법은 무엇입니까?
- 25. 태그 집합을 분석하는 최선의 방법은 무엇입니까?
- 26. 동적 JSON 필드를 GSON으로 구문 분석하는 방법은 무엇입니까?
- 27. Gson 주석으로 동적 목록을 구문 분석하는 방법은 무엇입니까?
- 28. JSON - 구문 분석하는 방법은 무엇입니까?
- 29. 배열을 구문 분석하는 방법은 무엇입니까?
- 30. 파일을 구문 분석하는 방법은 무엇입니까?
신청서에 대해 더 자세히 설명해 주시겠습니까? 가능한 속성 집합이 고정되어 있습니까? 누락 된 필드는 어떻게 처리해야합니까? – mariosangiorgio
가능한 속성 집합이 고정되어 있지 않습니다. 데이터가 파싱 된 후에 나는 그것만을 표시 할 것이다. – Eugene
2 개의 속성 (attr 이름 및 attr 값)을 가진 단순 bean은 좋을 것입니다. 그런 다음 컴포지션을 나열하는 몇 가지 비즈니스 클래스. 그러나 "완벽한 조회 신드롬"을주의하십시오. – BigMike