Чтение файла Json

Cameron_Bawerman

Известный
Автор темы
110
1
Версия MoonLoader
Другое
Всем добрый, подскажите, есть файл с данными и мне нужна от туда информация.
Файл с форматом .json
JSON:
[
  {
    "gender":"Мужчина",
    "nick":"Alex_Fox",
    "organization":"Army SF",
    "phone_number":6089068,
    "server":"",
    "spymode":false,
    "status":"Ст.Сержант",
    "vip":"Да"
  }
]

Мне надо чтоб скрипт читал этот файл и выводил нужную информацию из файла в чат.
Пример:
Я прописываю команду и скрипт читает этот файл и достает информацию с массива Status и пишите в чат: Ст.Сержант
 

Cameron_Bawerman

Известный
Автор темы
110
1

stool

Известный
477
401
Читал я этот сайт, что то у меня не получилось по нему(
Там много текста и особо не понятно
Звучит как отмазка. Судя по предыдущим твоим темам, ты ждёшь, что скрипт за тебя сделает кто-то другой. Неужели за год и 100 сообщений не удалось разобраться с cjson?
Открыть файл, прочесть содержимое, декодировать в cjson и работать с данными как с обычной таблицей, а затем реализовать желаемое самостоятельно так тяжело?
 
  • Нравится
Реакции: AnWu

stool

Известный
477
401
в муне же есть encodeJson и decodeJson. Открываешь через io.open и погнал.
Он вряд ли читал scripting api, там много текста и особо не понятно. Я ссылку-то кинул вообще на якорь, где одна строка указана и данные готовы к работе, но чуваку всё равно не понятно почему-то. Тут даже нейронка бы справилась, лол.
 

Cameron_Bawerman

Известный
Автор темы
110
1
в муне же есть encodeJson и decodeJson. Открываешь через io.open и погнал.
Да открыть то я его открыл, даже прочитал.
Как вывести в чат не могу, какую надо переменную
Lua:
local file = io.open("Personal.json", "r")
a = file:read("*a")
file:close()

table = decodeJson(a)

print(table["status"])

Он вряд ли читал scripting api, там много текста и особо не понятно. Я ссылку-то кинул вообще на якорь, где одна строка указана и данные готовы к работе, но чуваку всё равно не понятно почему-то. Тут даже нейронка бы справилась, лол.
Нет желание, не помогай, я тебя не заставляю, если такой умный флаг тебе в руки. я вот только учусь и учусь не год как ты сказал а временами, когда душа захочит. Отмазки у тебя. мне более понятно на примерах. я бы сюда не писал если бы нашел похожий скрипт и посмотрел бы как там написано.
 
  • Клоун
Реакции: stool

Июнь

Новичок
6
11
Да открыть то я его открыл, даже прочитал.
Как вывести в чат не могу, какую надо переменную
Lua:
local file = io.open("Personal.json", "r")
a = file:read("*a")
file:close()

table = decodeJson(a)

print(table["status"])


Нет желание, не помогай, я тебя не заставляю, если такой умный флаг тебе в руки. я вот только учусь и учусь не год как ты сказал а временами, когда душа захочит. Отмазки у тебя. мне более понятно на примерах. я бы сюда не писал если бы нашел похожий скрипт и посмотрел бы как там написано.
o_O, sampAddChatMessage(''..status, -1) ?
 

uqowivad

Известный
26
29
готовый вариант:
lua:
local cjson = require 'cjson'
function main()
    while not isSampAvailable() do wait(100) end
    sampRegisterChatCommand("info", function()
        local f = io.open(getWorkingDirectory() .. "\\data.json", "r")
        if f then local p = cjson.decode(f:read("*a"))[1]; f:close(); sampAddChatMessage("Status: " .. p.status, 0xFFFFFF) end
    end)
    while true do wait(0) end
end
    -- "gender": p.gender
    -- "nick": p.nick
    -- "organization": p.organization
    -- "phone_number":p.phone_number
    -- "server": p.server
    -- "spymode": p.spymode
    -- "status": p.status
    -- "vip": p.vip