1

コードは次のように作成されます。

function create_story_json_file()
{
//Update the last edited page:

    img_dataURLs[current_page]= drawing_plate.toDataURL("image/png");
    create_display_img_url(current_page);

    var page_num= total_page_num;                               //Story total page number
    var page_cont= new Array();
    var page_view= new Array();

    //Page View:( as the pages is clicked, the page views have to be shown. 
        page_view= display_img_dataURL;


    var img_data_URL;           //if it's a variable only, you have to assign the first value in the declaration, or the tag would disappear. 
    var stamp_arr= new Array();
    var rec_arr= new Array();
    var background_msc; 


//For each Story:   
    alert("total_page_num :"+ total_page_num );
    for(var p_number=0 ; p_number < total_page_num ; p_number++)
    {
        img_data_URL= img_dataURLs[p_number];

    //Stamp
        stamp_arr= [];                                          //reset.    
        var stamp_arr_for_current_page= stamp_for_all_pages[ p_number ].arr;
        for(var stamp_num= 0; stamp_num < stamp_arr_for_current_page.length ; stamp_num++)
        {
            stamp_arr.push( stamp_arr_for_current_page[stamp_num].get_stmp_json_obj );

        }
        alert("stamp_arr.length is:" + stamp_arr.length);
    //Rec:
        rec_arr= [];
        var rec_objs_at_certain_page= records_pages_arr[ p_number ].rec_objs;
        for(var rec_num= 0; rec_num <  rec_objs_at_certain_page.length; rec_num++)
        {
            rec_arr.push( rec_objs_at_certain_page[ rec_num ].get_rec_json_obj );               //check if rec_objs_at_certain_page[ rec_num ] is a rec_object! 
        }
        alert("rec_arr length is: " + rec_arr.length);
    //Background_music:
        var bgr_msc_in_certain_page= back_ground_music_arr[ p_number ];
        alert ("bgr_msc_in_certain_page.created" + bgr_msc_in_certain_page.created);
        background_msc= bgr_msc_in_certain_page.get_bgr_msc_json_obj;





        var page_content_json_obj= {
            img_data_url: img_data_URL,
            stamp:stamp_arr,
            record: rec_arr,
            bgr_msc:  background_msc
        }

        page_cont.push(page_content_json_obj); 


    }


        var story_json_obj= {

        page_number: page_num, 
        page_content: page_cont,
                    page_img_view: page_view

        }

    //Change to JSON String and write it to the file.   
    story_json_str= JSON.stringify(story_json_obj);
}

結果のJSON文字列: story_json_strが次のようになる理由について私は混乱しています:

{"page_number":1,
"page_content":[{"img_data_url":"data:image/base64......lots of      character"}]}

そして、「page_content」の「stamp」、「record」、「bgr_msc」はどこにありますか?
そして、なぜ「page_img_view」も消えるのですか?
なぜ彼らは逃すのですか?

コードを説明して修正してください。

追伸:私はAndroidシステムで作業しており、HTML5の機能によってJSON文字列をファイルに保存しています。使用するデバッグプラットフォームがありません...

4

1 に答える 1

0

やがて欠点を見つけました。

background_msc= bgr_msc_in_certain_page.get_bgr_msc_json_obj;

get_bgr_msc_json_objはクラス内の関数な ので、を書く必要がありますget_bgr_msc_json_obj()。括弧がない場合、関数は呼び出されません。

これらの2つの楽器:get_rec_json_objそしてget_stmp_json_obj同じ間違いを犯します。
なんてばかげた間違い。

于 2013-03-13T06:06:22.353 に答える