Как разобрать этот сложный объект JSON с функциями внутри - PullRequest
0 голосов
/ 22 мая 2019

Я получил этот пример кода и хотел бы знать, как выглядит подходящий MOJO (JSON Object)? Он состоит из массива сложной структуры JSON.

{
    'inputContext': undefined,
    'intents': {
        //Default Welcome Intent
        'LaunchRequest': async (conv: AdfConversation) => {

        },
        'ExitIntent': async (conv: AdfConversation) => {

        },
        'DefaultFallbackIntent': async (conv: AdfConversation) => {

        },
        'Unhandled': (conv: AdfConversation) => {

        },
    },
},
{
    'inputContext': ConversationContexts.WELCOME,
    'intents': {
        'BargainIntent': async (conv: AdfConversation) => {
            conv.setContext(ConversationContexts.BARGAIN)
            conv.ask('Du hast dich für das Schnäppchen entschieden.', ':tell')
        },
        'PodcastIntent': async (conv: AdfConversation) => {
            conv.setContext(ConversationContexts.PODCAST)
            if(conv.type){
                conv._alexaContext!.emitWithState('PodcastIntent',ConversationContexts.PODCAST)
            }
        },     
    },
}

1 Ответ

0 голосов
/ 22 мая 2019

Это не JSON.Это часть реального объекта массива.Просто назначьте его:

const a = [{
    'inputContext': undefined,
    'intents': {
        //Default Welcome Intent
        'LaunchRequest': async (conv: AdfConversation) => {

        },
        'ExitIntent': async (conv: AdfConversation) => {

        },
        'DefaultFallbackIntent': async (conv: AdfConversation) => {

        },
        'Unhandled': (conv: AdfConversation) => {

        },
    },
},
{
    'inputContext': ConversationContexts.WELCOME,
    'intents': {
        'BargainIntent': async (conv: AdfConversation) => {
            conv.setContext(ConversationContexts.BARGAIN)
            conv.ask('Du hast dich für das Schnäppchen entschieden.', ':tell')
        },
        'PodcastIntent': async (conv: AdfConversation) => {
            conv.setContext(ConversationContexts.PODCAST)
            if(conv.type){
                conv._alexaContext!.emitWithState('PodcastIntent',ConversationContexts.PODCAST)
            }
        },     
    },
}];
...