2

私はこのjsonファイルを持っており、json配列に変換しています。すべてが正常に機能しますが、実際のjsonファイルにはより多くのデータが含まれています。このコードを単純化する方法は、javascriptまたはjsonファイルを変更する可能性があります。

{
"Subject1":{
    "Biology":{
        "Category":{
            "Cell":{
                "question1":{
                    "que1":"what's....?"
                },
                "question2":{
                    "que2":"what's....?"
                },
                "question3":{
                    "que3": "what's....?"
                }
            },
            "Bactery":{
                "question1":{
                    "que1":"what's....?"
                },
                "question2":{
                    "que2": "what's....?"
                },
                "question3":{
                    "que3": "what's....?"
                }
            }
        }
    }
}

}

これは私のコードウィッチで、ファイルjsonをjavascriptの配列jsonに変換します。

var exa = [];
function show() {
    $.getJSON('questions.json', function (json) {
        for (var key in json) {
            if (json.hasOwnProperty(key)) {
                var item = json[key];
                exa.push({
//I want to simplify this part, because the real json file have more questions
                    que1: item.Biology.Category.Cell.question1.que1,
                    que2: item.Biology.Category.Cell.question2.que2,
                    que3: item.Biology.Category.Cell.question3.que3,

                    que11: item.Biology.Category.Bactery.question1.que1,
                    que12: item.Biology.Category.Bactery.question2.que2,
                    que13: item.Biology.Category.Bactery.question3.que3

                });
            }
        }
        //return Books;
        console.log(exa)
    })
}
4

2 に答える 2

1

que1、que2などの代わりに、質問を配列に入れてください

"Cell": [
    "what's this?",
    "what's that?"
]
于 2013-02-20T01:40:35.853 に答える
0

json-pathと writeを使用JsonPath.read(json, "$..question");して、すべての質問を取得できます。que[*]ファイル内のすべてを変更する必要もありquestionます。

于 2013-02-20T05:18:57.143 に答える