示例文本文件:
+employeeName => xyz //Root Element 1
++address => abc //Child of Root 1
+++zipcode => 123 // innerchild element
++++ location => pqr
++dob => 13/10/1995 // child of ROOT 1
+employeeName => abc
这里'+'代表Root元素,'++'代表Child元素
我想生成以下JSON(Java)
{
"employeeName":{
"xyz":{
"address":{
"abc":{
"zipcode":{
"123":{
"location":"pqr"
}
}
}
}
},
"dob":"13/10/1995"
},
"employeeName":"abc"
}
答案 0 :(得分:1)
看一下明胶https://github.com/knipknap/Gelatin/wiki
使用语法定义输入文本并指定json作为输出格式。
答案 1 :(得分:0)
要做的第一件事是 指定输入文件格式,可能在某些文档中使用某些EBNF表示法(或者某些评论)
(一个例子,甚至一组,不格式规范)
一旦您定义输入格式,您只需为其编写parser ,并定义一些 - 转换器中的内存 abstract syntax tree (AST)表示。 lexical analysis(或标记化)和parsing有数以万计的工具和技术,例如ANTLR for Java,Flex& Bison代表C,Ocamllex& Menhir for Ocaml等...)。另见compiler-compilers上的wikipage。阅读一些有关编译的教科书(例如dragon book)。
一旦将数据解析为某种abstract syntax tree(AST),为它发出JSON就是小菜一碟。