2017-02-07 13 views
1

У меня есть json в следующем формате, я хочу преобразовать этот JSON в формат, упомянутый в конце вопроса. Я хочу использовать только javascript для этого преобразования, а не любые другие инструменты, такие как Gson или служебный Java-код. Пожалуйста, дайте мне знать, как это может быть достигнуто.Преобразование строки JSON в другой формат

[{ 
    "innNumber": { 
     "id": "0111", 
     "idAsLong": 111, 
     "idWithoutZero": "111" 
    }, 
    "nightlyRates": [{ 
     "date": "2017-02-09", 
     "nightlyRate": { 
      "amount": 155.85, 
      "currencyCode": "CAD" 
     }, 
     "points": 0 
    }] 
}, { 
    "innNumber": { 
     "id": "0111", 
     "idAsLong": 111, 
     "idWithoutZero": "111" 
    }, 
    "nightlyRates": [{ 
     "date": "2017-02-09", 
     "nightlyRate": { 
      "amount": 155.85, 
      "currencyCode": "CAD" 
     }, 
     "points": 0 
    }] 

}] 

JSON Response, который должен быть в следующем формате.

[{"hotelRoomRate":{ 
    "innNumber": { 
     "id": "0111", 
     "idAsLong": 111, 
     "idWithoutZero": "111" 
    }, 
    "nightlyRates": [{ 
     "date": "2017-02-09", 
     "nightlyRate": { 
      "amount": 155.85, 
      "currencyCode": "CAD" 
     }, 
     "points": 0 
    }] 

    } 
}, 
{"hotelRoomRate": 
    { 
    "innNumber": { 
     "id": "0111", 
     "idAsLong": 111, 
     "idWithoutZero": "111" 
    }, 
    "nightlyRates": [{ 
     "date": "2017-02-09", 
     "nightlyRate": { 
      "amount": 155.85, 
      "currencyCode": "CAD" 
     }, 
     "points": 0 
    }] 

} 
}] 
+0

https://jsfiddle.net/e0oq5xdd / – Hackerman

ответ

3

Простой map() сделает это

var res = data.map(function(item){ 
    return { hotelRoomRate : item}; 
}); 
0

Это, как я бы это сделать ...

var JsonData = [{ 
     "innNumber": { 
      "id": "0111", 
      "idAsLong": 111, 
      "idWithoutZero": "111" 
     }, 
     "nightlyRates": [{ 
      "date": "2017-02-09", 
      "nightlyRate": { 
       "amount": 155.85, 
       "currencyCode": "CAD" 
      }, 
      "points": 0 
     }] 
    }, { 
     "innNumber": { 
      "id": "0111", 
      "idAsLong": 111, 
      "idWithoutZero": "111" 
     }, 
     "nightlyRates": [{ 
      "date": "2017-02-09", 
      "nightlyRate": { 
       "amount": 155.85, 
       "currencyCode": "CAD" 
      }, 
      "points": 0 
     }] 

    }] 

var newFormat = []; 

for(var i =0; i < JsonData.length; i ++){ 
    newFormat.push({"hotelRoomRate" : JsonData[i]}) 
} 

console.log(newFormat) 

Надеется, что это помогает

Смежные вопросы