2010-03-14 7 views
2

다른 필드와 값을 가진 다양한 개체를 생성하는 JavaScript의 임의 개체 생성기가 필요합니다. 그런 도구를 찾을 수있는 아이디어가 있습니까?JavaScript의 임의 개체 생성기

다양한 복잡성을 가진 임의의 객체를 생성해야합니다. 제 목표는 JSON을 사용하여 이러한 객체를 직렬화하고 퍼지로 내 응용 프로그램 http api를 테스트하는 것입니다.

+5

음 ... 써 주시겠습니까? 또는 그들이 나에게 매우 특정한 소리가 나기 때문에 당신의 요구를 명확히하십시오. – Ricket

+0

다양한 복잡성을 가진 임의의 객체를 생성해야합니다. 내 목표는 JSON을 사용하여 이러한 객체를 직렬화하고 퍼지로 내 애플리케이션 http API를 테스트하는 것입니다. – Gjorgji

+0

내 대답을 참조하십시오, 정확히 당신이 말한대로합니다. 내가 객체로 하나 개의 필드의 값을 설정하면 –

답변

6
function createRandomObj(fieldCount, allowNested) 
{ 
    var generatedObj = {}; 

    for(var i = 0; i < fieldCount; i++) { 
     var generatedObjField; 

     switch(randomInt(allowNested ? 6 : 5)) { 

      case 0: 
      generatedObjField = randomInt(1000); 
      break; 

      case 1: 
      generatedObjField = Math.random(); 
      break; 

      case 2: 
      generatedObjField = Math.random() < 0.5 ? true : false; 
      break; 

      case 3: 
      generatedObjField = randomString(randomInt(4) + 4); 
      break; 

      case 4: 
      generatedObjField = null; 
      break; 

      case 5: 
      generatedObjField = createRandomObj(fieldCount, allowNested); 
      break; 
     } 
     generatedObj[randomString(8)] = generatedObjField; 
    } 
    return generatedObj; 
} 

// helper functions 

function randomInt(rightBound) 
{ 
    return Math.floor(Math.random() * rightBound); 
} 

function randomString(size) 
{ 
    var alphaChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    var generatedString = ''; 
    for(var i = 0; i < size; i++) { 
     generatedString += alphaChars[randomInt(alphaChars.length)]; 
    } 

    return generatedString; 
} 

정수, 부동 소수점 형, 문자열, 부울 또는 null 값을 가진 X 매개 변수로 obj를 만듭니다.
방금 ​​만들었습니다. B

+0

그것은 작동합니다 오 [getRandomString (8)] = createRandomObj (5) 내가 생성 된 더 복잡한 객체 .. 같은 싶어 " 을 { "3,"b ": {"c ": 4,"d ": 5}} – Gjorgji

+0

아, 확실히 구현하겠습니다 :) –

+0

두 번째 매개 변수를 확인하십시오 :), 그것은 같은 기능과 paramenters를 사용하여 하위 객체를 만들 것입니다 :) –