Разобрать строку JSON, хранящуюся в константе в ionic 3 - PullRequest
0 голосов
/ 11 мая 2018

Как я могу разобрать строку json в ionic 3. Моё требование простое, т.е. просто разобрать json, сохраненный в константе, и показать его на ползунке с предыдущей и следующей кнопками в ionic. Просто помогите мне разобрать данные и сохранить это в массиве. У меня нет предварительного опыта в ионной и угловой.

Код, который я пробовал:

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http,Headers } from '@angular/http';
import 'rxjs/add/operator/map';

//////this is the json format.
const questions={
  "setId": 1,
  "setName": "Set-A",
  "totalQuestions": 3,
  "markPerQuestion": 1,
  "totalDuration": 10,
  "questions": [
      {
          "questionId": 1,
          "questionName": "What is the term used for describing the judgmental part of problem solving?",
          "questionInstruction": "Select Correct Answer",
          "questionAnswer": "a",
          "img": "",
          "questionOptions": [
              {
                  "optionId": "a",
                  "optionValue": "Heuristic"
              },
              {
                  "optionId": "b",
                  "optionValue": "Critical"
              },
              {
                  "optionId": "c",
                  "optionValue": "Value based"
              },
              {
                  "optionId": "d",
                  "optionValue": "Analytical"
              },
              {
                  "optionId": "e",
                  "optionValue": "None of the above"
              }
          ]
      },
      {
          "questionId": 2,
          "questionName": "Decision support programs are designed to help managers make:",
          "questionInstruction": "Select Correct Answer",
          "questionAnswer": "d",
          "img": "",
          "questionOptions": [
              {
                  "optionId": "a",
                  "optionValue": "vacation schedules"
              },
              {
                  "optionId": "b",
                  "optionValue": "budget projections"
              },
              {
                  "optionId": "c",
                  "optionValue": "All of the above"
              },
              {
                  "optionId": "d",
                  "optionValue": "business decisions"
              },
              {
                  "optionId": "e",
                  "optionValue": "None of the above"
              }
          ]
      },
      {
          "questionId": 3,
          "questionName": "What was originally called the imitation game by its creator?",
          "questionInstruction": "Select Correct Answer",
          "questionAnswer": "b",
          "img": "",
          "questionOptions": [
              {
                  "optionId": "a",
                  "optionValue": "Cybernetics"
              },
              {
                  "optionId": "b",
                  "optionValue": "The Turing Test"
              },
              {
                  "optionId": "c",
                  "optionValue": "LISP"
              },
              {
                  "optionId": "d",
                  "optionValue": "The Logic Theorist"
              },
              {
                  "optionId": "e",
                  "optionValue": "None of the above"
              }
          ]
      }
  ]
};

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  constructor(public navCtrl: NavController) {
  }

  ionViewDidLoad(){
   this.parsejsondata();
  }

  parsejsondata(){
    const userStr = JSON.stringify(questions);
    JSON.parse(userStr, (key, value) => {
      if (typeof value === 'string') {
        return value.toUpperCase();
      }
      console.log(JSON.parse(value));
      return value;
    });
  }
}

выдает ошибку:

main.js: 1 Не удалось загрузить ресурс: сервер ответил со статусом 500 (Внутренняя ошибка сервера) (индекс): 1 Отказано в выполнении скрипта из 'http://localhost:8100/build/main.js', потому что его тип MIME ('text / html') не является исполняемым, и строгая проверка типов MIME включен.

...