2016-12-20 4 views
0

Для моего текущего проекта мне нужно преобразовать объект json в массив машинописных символов. JSON выглядит следующим образом:преобразовать объект json в массив машинописных символов

{ 
    "uiMessages" : { 
    "ui.downtime.search.title" : "Search Message", 
    "ui.user.editroles.sodviolation.entries" : "Violated SOD entries" 
    }, 
    "userInfo" : { 
    "login" : "fooUser", 
    "firstName" : "Foo", 
    "lastName" : "Bar", 
    "language" : "en" 
    }, 
    "appInfo" : { 
    "applicationName" : "foo", 
    "applicationVersion" : "6.1.0" 
    } 
} 

JSON является Сериализованным объектом Java и переменный uiMessages является HashMap в Java. Мне нужно разобрать uiMessages в массив машинописных имен объектов uiMessage.

До сих пор я получил это:

@Injectable() 
export class BootstrapService { 

    constructor(private http: Http) {} 

    getBootstrapInfo() { 
    return this.http.get('api/foo') 
     .map(response => { 
     response.json() 
     }) 
    } 
} 

Как мне лучше всего это сделать?

+0

У вас есть определение 'uiMessage' в машинописном? –

+0

Укажите формат массива, который вы пытаетесь создать. 'uiMessages' - это объект с ключами и значениями - нет очевидного сопоставления с ним массиву, который представляет собой просто индексированный список значений. –

+0

uiMessage будет простым объектом ключевого значения, где ключ будет, например, «ui.downtime.search.title» и значением «Search Message», – Ronny176

ответ

0

Попробуйте это:

@Injectable() 
export class BootstrapService { 

    constructor(private http: Http) {} 

    getBootstrapInfo() { 
     return this.http.get('api/foo') 
      .map(response => { 
       var responseData = response.json(); 
       var result = []; 
       for (let item in responseData.uiMessages) { 
        // Create the uiMessage object here, not sure what its structure is 
        result.push({ 
         field: item, 
         message: responseData.uiMessages[item] 
        }); 
       } 
       return result; 
      }); 
    } 
} 
Смежные вопросы