0 Favourites

Loading JSON to an array

  • Hey,

    I'm having trouble trying to fill an array by loading JSON data, are there any need-to-know tips or known issues with this?

    I have one project where I built a simple editor and then place the value in a text field using the .asJSON expression of the array. Everything works fine there as far as I can tell -- the JSON data appears to be alright to me.

    I'm experiencing my problem working with my second (game) project. I have an array with the same dimensions (19,11,1) as the one from the original project and I'm trying to load the JSON data by pasting in the entire string obtained from the other project. I've tried doing this with or without surrounding quotation marks, but I'm getting syntax errors every time I try to submit the dialog.

    My JSON string is as follows:

    ----------------------------------------

    {"c2array":true,"size":[19,11,1],"data":[[["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_door"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_door"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_door"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_passable"],["tile_impassable"]],[["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_door"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"],["tile_impassable"]]]}

    ----------------------------------------

    Any ideas? Would a .capx help to diagnose this particular problem?

    Thanks in advance! <img src="smileys/smiley1.gif" border="0" align="middle" />

  • When you're entering a string into a text field you need surrounding quotation marks but you also need to replace any quotation marks inside the string with double quotation marks.

    <hr />

    "{""c2array"":true,""size"":[19,11,1],""data"":[[[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_door""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_door""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_door""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_passable""],[""tile_impassable""]],[[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_door""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""],[""tile_impassable""]]]}"

  • Don't bother pasting JSON data in to expressions, it's totally unmanageable. Import a .json file (really just a text file) to the project with the JSON data in it, AjAX request that, and load the result.

  • Construct 3

    Buy Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Buy Now Construct 3 users don't see these ads
  • ramones: Thank you so much, I hadn't thought about needing to escape quotes or anything of the sort, but now it's working perfectly. <img src="smileys/smiley1.gif" border="0" align="middle" />

    @Ashley: Thanks for the suggestion -- and I might normally agree, that's how I've used JSON previously -- but in this case I'll only be loading a maximum of 2-5 arrays of data that don't need to be dynamically loaded, and I'd prefer to simply hard-code them into my initialisation event rather than adding an additional otherwise unneeded plugin to the project to load them in.

    Thanks again to both of you, and especially Ashley for such a great product! <img src="smileys/smiley1.gif" border="0" align="middle" />

  • Does the json data format have to be in the above oda c2array size data, my genereated data does it in any order e.g c2array, data, size. But I can't seem to read the data, I get javascript error.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)
Similar Topics Posts Views Last Post
Unread hot topic
187 45,121
Yann's avatar
Yann
Unread hot topic
52 8,559
BluePhaze's avatar
BluePhaze
Unread hot topic
0 Favourites
[PLUGIN] JSON++
38 5,601
Syazanie Amirin's avatar
Syazanie Amirin