1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/brinkqiang-luapb

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

luapb

Copyright (c) 2013-2018 brinkqiang (brink.qiang@gmail.com)

luapb License blog Open Source Love GitHub stars GitHub forks

Build status

Linux Mac Windows
lin-badge mac-badge win-badge

Intro

luapb

win

build.bat
cd bin\relwithdebinfo
lua ..\script\msg.lua  

linux

bash build.sh
cd bin/relwithdebinfo
./lua ../script/msg.lua  
pb_import enter
pb_import leave
pbtest 1361563254513615632545@163.com (2first2second2three
local pb = require("luapb")
local luajson = require("luajson")

pb.import("net.proto")

local name = pb.id2name(8345))
local id = pb.name2id("net.tb_Person"))

local msg = pb.pb_new("net.tb_Person")

msg.number = "13615632545"
msg.email = "13615632545@163.com"
msg.age = 28
msg.ptype = 2
msg.desc:add("first")
msg.desc:add("second")
msg.desc:add("three")

local msg_debugstring = pb.tostring(msg)

local buffer = pb.serializeToString(msg)

local msg2 = pb.new("net.tb_Person")
pb.parseFromString(msg2, buffer)

local tb_msg = {
    number = "13615632545",
    email = "13615632545@163.com",
    age = 28,
    ptype = "WORK",
    desc = {"first", "second", "three"},
    jobs = {
        {
            jobtype = 8345,
            jobdesc = "coder"
        },
        {
            jobtype = 9527,
            jobdesc = "coder2"
        }
    }
}

local buffer2 = pb.encode("net.tb_Person", tb_msg)
local tb_msg2 = pb.decode("net.tb_Person", buffer2)

local str_json = pb.table2json("net.tb_Person", tb_msg2)
local str_xml = pb.table2xml("net.tb_Person", tb_msg2)
local str_yaml = pb.table2yaml("net.tb_Person", tb_msg2)

local tb_json = pb.json2table("net.tb_Person", str_json)
local tb_xml = pb.xml2table("net.tb_Person", str_xml)
local tb_yaml = pb.yaml2table("net.tb_Person", str_yaml)

Contacts

Thanks

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Встроенные модули Lua реализуют функции, аналогичные модулям в CMake. Они используют возможности рефлексии Protobuf для реализации автоматической рефлексии на уровне Lua. Этот модуль поддерживает Protobuf 2 и Protobuf 3 и способен преобразовывать Protobuf, таблицы Lua и другие структуры данных (например, XML, JSON, YAML). Модуль успешно скомпил... Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/brinkqiang-luapb.git
git@api.gitlife.ru:oschina-mirror/brinkqiang-luapb.git
oschina-mirror
brinkqiang-luapb
brinkqiang-luapb
master