2009-11-09 2 views
0

저는 flex 어플리케이션을위한 모의 백엔드 서비스를 작성하고 있습니다. 내가 가능성이 시간이 지남에 따라 모의 데이터를 수정/추가/수정해야하므로,이 같은 코드의 데이터를 생성하지 않으려는 것 :모의 객체에 데이터를 비 직렬화하는 좋은 방법은 무엇입니까?

오히려
var mockData = new Array(); 
mockData.push(new Foo(1, "abc", "xyz")); 
mockData.push(new Foo(2, "def", "xyz")); 
... 

내가 파일에 데이터를 저장하고 싶습니다 어떤 형식으로 그것은 강하게 타입 화 된 값 객체 (예 : 위의 Foo)로 쉽게 직렬화 될 수 있습니다. 이상적으로는 자체 기술 형식으로 데이터를 작성하고 싶습니다 (각 필드가 어떤 데이터 유형인지, 클래스가 나타내는 클래스 등).

의미가 있습니까? 어떤 제안?

답변

2

asx3m 라이브러리를 적극 권장합니다. 그것은 쉽게 Foo 클래스의 개체에 대한이 같은 매우 읽을 수있는 XML 형식으로 직렬화 할 수 있습니다 :

<com.example.Foo> 
    <myVar>Something</myVar> 
    <myArrList> 
     <string>one</string> 
     <string>two</string> 
    </myArrList> 
</com.example.Foo> 

역 직렬화를하는 코드는 다음과 같습니다

Asx3mer.instance.fromXML(someXMLObj) 

프로젝트 사이트가 좋은 예제를 가지고 그리고 이것을 땅에 떨어 뜨리는 것은 그렇게 어렵지 않습니다.

+0

참고 : 아직 가정하지 않은 경우 asx3m 라이브러리에서도 직렬화를 수행합니다. – dustmachine

+0

정말 고마워! 데이터 파일은 약간 길어질 것입니다 (CSV와 같은 것에 비해). 그러나 이것이 작업을 수행하는 것처럼 보입니다. 감사합니다. – Marplesoft

0

개체의 "비정상적"버전을 직렬화하는 메서드를 작성합니다. 파일의 출력을 파일에 넣고 테스트 설정의 일부로로드하십시오. 값을 편집하려면 xml 파일을 편집하십시오. 이것이 플렉스에서 가능한지 나는 모른다. 그러나 테스트를 위해 특정 위치에 파일을 복사 할 필요가 없도록 보통이 파일들을 내 테스트 라이브러리에 리소스로 포함 할 것이다.

+0

나는 이것이 좋은 전략이라고 생각하지만, 내가 알아 내려고 노력하는 것은 좋은 가독성이 있지만 견고한 형식이다. – Marplesoft

+0

XML? Flex에서 사용할 수있는 라이브러리가 확실하지 않습니다. dustmachine의 제안을 확인하십시오. – pattersonc

+0

Flex가 xml 용 e4x를 지원합니다. – Amarghosh

관련 문제