Jump to content

User:DannyS712 test/get JSON.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
get_JSON_config = {
	name: "[[User:DannyS712/get JSON.js|get JSON]]",
	version: 1.0,
	debug: false
};

mw.loader.using( 'mediawiki.util', function () {
    $(document).ready( function () { 
        var link = mw.util.addPortletLink( 'p-cactions', null, 'Get JSON', 'ca-get-JSON', 'get the JSON of this page'); 
        $( link ).click( function ( event ) {
            event.preventDefault();
            get_JSON( mw.config.get( 'wgPageName' ) );
        } );
    } );
} );
function get_JSON ( page ){
	if (get_JSON_config.debug) console.log( location );
	var get_page = {
        action: 'query',
        titles: page,
        prop: 'revisions',
        rvprop: 'content',
        format: 'json',
        formatversion: 2
    };
    var result = null;
	var scriptUrl = mw.config.get( 'wgScriptPath' ) + '/api.php';
	$.ajax({
		url: scriptUrl,
		type: 'get',
		data: get_page,
		dataType: 'json',
		async: false,
		success: function(data) {
		    var text = data.query.pages["0"].revisions["0"].content;
	    	if (get_JSON_config.debug) console.log ( data );
	    	if (get_JSON_config.debug) console.log( "Text:", text, "End text" );
	    	var JSONed = JSON.parse( text );
	    	var arr_JSONed = [];
	    	for (var reminder in JSONed){
	    		arr_JSONed.push(JSONed[reminder]);
	    	}
	    	if (get_JSON_config.debug) console.log( arr_JSONed );
	    	result = arr_JSONed;
		} 
	});
	return result;
}