Eng:JSON

JSON (JavaScript Object Notation) is a data format based on the syntax for JavaScript object literals. It is used to store Scratch projects. A project in Scratch 2.0 is actually a ZIP archive of the media and a file named "project.json," which contains the scripts.

How to find the JSON file of a project
Simply put this in the URL bar of your browser: http://projects.scratch.mit.edu/internalapi/project/PROJECTID/get/ and replace "PROJECTID" with the id of the project to get the JSON file of.

For instance, if one would want to get the JSON file of a project with the url " https://scratch.mit.edu/projects/123456789/ " they would replace "PROJECTID" with "123456789" resulting in " http://projects.scratch.mit.edu/internalapi/project/123456789/get/ "

Example JSON file
Here is what the JSON file of a brand new project created in the online editor looks like: { "objName": "Stage", "sounds": [{ "soundName": "pop", "soundID": 1, "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", "sampleCount": 258, "rate": 11025, "format": "" }], "costumes": [{ "costumeName": "backdrop1", "baseLayerID": 2, "baseLayerMD5": "739b5e2a2435f6e1ec2993791b423146.png", "bitmapResolution": 1, "rotationCenterX": 240, "rotationCenterY": 180 }], "currentCostumeIndex": 0, "penLayerMD5": "5c81a336fab8be57adc039a8a2b33ca9.png", "penLayerID": -1, "tempoBPM": 60, "videoAlpha": 0.5, "children": [{ "objName": "Sprite1", "sounds": [{ "soundName": "meow", "soundID": 0, "md5": "83c36d806dc92327b9e7049a565c6bff.wav", "sampleCount": 18688, "rate": 22050, "format": "" }],  "costumes": [{ "costumeName": "costume1", "baseLayerID": 0, "baseLayerMD5": "09dc888b0b7df19f70d81588ae73420e.svg", "bitmapResolution": 1, "rotationCenterX": 47, "rotationCenterY": 55 },   {     "costumeName": "costume2", "baseLayerID": 1, "baseLayerMD5": "3696356a03a8d938318876a593572843.svg", "bitmapResolution": 1, "rotationCenterX": 47, "rotationCenterY": 55 }],  "currentCostumeIndex": 0, "scratchX": 0, "scratchY": 0, "scale": 1, "direction": 90, "rotationStyle": "normal", "isDraggable": false, "indexInLibrary": 1, "visible": true, "spriteInfo": { } }], "info": { "flashVersion": "LNX 20,0,0,286", "swfVersion": "v443", "spriteCount": 1, "hasCloudData": false, "userAgent": "Mozilla\/5.0 (X11; CrOS x86_64 7647.73.0) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/48.0.2564.92 Safari\/537.36", "scriptCount": 0, "videoOn": false } }