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!

已提問 6 年前檢視次數 1824 次
5 個答案
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!

已回答 6 年前
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.

已回答 6 年前
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?

已回答 4 年前
0

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

已回答 4 年前
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)

已回答 4 年前

此貼文已關閉:已停用新增新答案、評論和投票功能。