将示例文本文件转换为分层JSON

时间:2015-10-13 07:36:51

标签: json gson

示例文本文件:

+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"
}

2 个答案:

答案 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就是小菜一碟。