0

Earlier I asked about gathering information from API-Link, and I have managed to get out most of the details by using the answar I got. Now ny problem is when another API to get more information

This time the file will contain this information:

{
   "username":"UserName",
   "confirmed_rewards":"0",
   "round_estimate":"0.00000000",
   "total_hashrate":"0.000",
   "payout_history":"0",
   "round_shares":"0",
   "workers":{
      "UserName.1":{
         "alive":"0",
         "hashrate":"0.000"
      },
      "UserName.2":{
         "alive":"0",
         "hashrate":"0.000"
      },
      "UserName.3":{
         "alive":"1",
         "hashrate":"1517.540",
         "last_share_timestamp":1369598007
      },
      "UserName.4":{
         "alive":"0",
         "hashrate":"0.000"
      }
   }
}

And I want to gather each of the workers and print them out. This "workers" could contain multiple information, but always start with "UserName.x", where the username come from the "username" paramter each time.
The numbers will always vary from 0 and up

I want to gether the information in the same way by accessing the document, and decode and print out all the workers, whatever the numbers of them are.

By using the script provided in my last question(look at the link in the start), i was thinking that it would be something like

local t = json.decode( txt ) print("Workers: ".. t["workers.UserName.1"])

But this was not the way. Due to the username changing all the time, I was also thinking somthing like

print("Workers: ".. t["workers" .. "." .. "username" .. "." .. "1"])

From here I have no clue about how I should gather the information, even when the names and numbers vary

Thanks in advance

4

1 回答 1

2

这是完美的解决方案:

local json = require "json"
local t = json.decode( jsonFile( "data.json" ) 

local workers = t.workers

for name, user in pairs(workers) do
    print("--------------------")
    print(name)
    for tag, value in pairs(user) do
        print(tag , value)
    end
end

以下是更多信息:

于 2013-05-26T21:30:33.227 回答