Converting JSON string to table/ojbect in Lua

0

hi,

I've been stuck on something that I feel is simplified in the Lumberyard LUA editor, but am having trouble with parsing a stringified JSON object coming back from an api call.

How would you convert a JSON string to a workable table in Lua?

Thank you!

asked 6 years ago1785 views
5 Answers
0

Hello @REDACTEDUSER

As far as I can tell, we don't provide a library that achieves that however you have options:

  1. Either use the JSON() C++ binding which would allow you traverse the json object in lua.

or

  1. Include a 3rd-party json-parser lua library that decodes the json string into a lua table.

Thanks!

answered 6 years ago
0

@REDACTEDUSER There are lots of good Lua based encoder/decoders available that you can easily include in your project. (Here is a good one: http://regex.info/blog/lua/json).

Just put the json.lua file in the same folder as the script that you are working on in your Lumberyard project, then load the json.lua file using the code sample from the above website.

answered 6 years ago
0

Hi I would like to follow up on this older post. I am making an GET request to a web api which brings back a json that I must parse, hopefully from within my lua script. I have been unsuccessful with getting rapidjson to work they way I need, and ideally I could do the parsing from within lua anyway so I have tried using a couple of different 3rd party lua libraies but continue to get the following error :

module 'json' not found:Module "json.luac" has not been registered with the Asset Database.

Any ideas on what I need to bypass this error and use 3rd party lua libraries?

answered 4 years ago
0

Good question! I’ll asking the scripting team and see what I can find :)

answered 4 years ago
0

Props to @REDACTEDUSER

I saved this json lua script to dev/<my_project>/scripts/json.lua https://github.com/craigmj/json4lua/blob/master/json/json.lua

Since LY 1.24 uses Lua 5.1, I had to replace line #238 to use loadstring() instead of load() Afterwards, I imported the json.lua util script into my own lua script via local json = require "scripts/json"

The filepath had to use forward slash otherwise I was receiving the same errors about module 'json' not found:Module "json.luac" has not been registered with the Asset Database.

Example Lua File using JSON: ly115976_LuaScriptRequiringJSON.zip|attachment (456 Bytes)

answered 4 years ago

This post is closed: Adding new answers, comments, and votes is disabled.