2016-12-25 3 views
0

私は、lua、XML、JSONを使用しているようなプログラムのためのmodをやっていますか? これは、次のようにWebリクエストからプレーンテキスト配列を取得して解析します。どのような種類のプレーンテキスト配列がありますか?

a:2:{a:3:{s:2: "id"; s:3: "123"; s:4: "テスト"; I:4: "1234"; I:1:0; S: "テスト";} S:1: "A"; S:1: "B";}

a:2:{ 
    a:3:{ 
     s:2:"id";s:3:"123"; 
     s:4:"test";i:4:"1234"; 
     i:1:0;s:"test"; 
    } 
    s:1:"a";s:1:"b"; 
} 

構文は明らかです(s =文字列、a =配列、i = int、文字数/エントリ数が続きます)。私はJSONオブジェクトを調べましたが、それらは同一であると思われますが、chars/entriesの数はありません。 私はそれはそれを解析する機能を見つけることができないと私はそれを解析する必要があるので、私の質問は以下のとおりです。

  1. が、これは、プレーンテキスト配列の既知のタイプですか? (任意の言語で)
  2. 誰かがこれを解析するためにlua(または他の同一言語の言語 )の関数を知っていますか?
+2

これは、あなたがアンシリアライズしてからJSONデータをデコードする必要がシリアライズされたデータです。 –

+0

'a:'の後ろの数字はどういう意味ですか? –

+0

"a =配列、i = int、その後に文字数/エントリの数"したがって、a:2は2つのエントリを持つ配列であることを意味します – user572420

答えて

0

これはPHPのシリアル化フォーマットです 私はlua-phpserializeライブラリを使用することをお勧めします。

https://github.com/agladysh/lua-phpserialize

使い方

local luatable={} 
luatable[#luatable+1] = "asdasd" 
luatable[#luatable+1] = 100 
luatable[#luatable+1] = -123 
local phpsrl = phpserialize.phpserialize(luatable,3); 
+0

そのライブラリはシリアル化のみできます。しかし、OPは逆の操作、つまり「直列化解除」を実行したいと考えています。 –

+0

私はここからシリアライズするのに便利な機能を持っています:https://gist.github.com/cristobal/3647759 – user572420

+0

ありがとうございました – user572420

関連する問題