Сглаживание/расчленение вложенного json в список объектов на основе уникального ключа ⇐ JAVA
Сглаживание/расчленение вложенного json в список объектов на основе уникального ключа
Учитывая foo.json как ffn
{"оборудование": {"гайка":[{"id":1,"type":"шестигранник","размер":"1/4","отделка":"цинк", "цена":0,12} ,{"id":2,"type":"hex","size":"5/16","finish":"цинк", "price":0.18} ,{"id":3,"type":"hex","size":"3/8","finish":"цинк", "price":0,24}] ,"bolt":[{"id":4,"type":"hex","size":"5/16","finish":"цинк", "length":4,"price":0.10 } ,{"id":5,"type":"hex","size":"3/8","finish":"цинк", "length":4,"price":0.16} ,{"id":6,"type":"hex","size":"7/16","finish":"цинк", "length":4,"price":0.31}] ,"винт":[{"id":7,"type":"дерево","размер":"3/8","отделка":"цинк", "длина":2,"цена":0.64 } ,{"id":8,"type":"дерево","размер":"1/2","отделка":"цинк", "длина":2,"цена":0,88} ,{"id":9,"type":"дерево","размер":"9/16","отделка":"цинк", "длина":2,"цена":1.03}] } } и
Схема StructType = createSchema(); // просто предположим, что это работает искра = SparkSession.builder().master("local[*]").getOrCreate(); Dataset df = spark.read().option("многострочный", true).schema(schema).json(ffn); в это:
1,шестигранник,гайка,фурнитура,"1/4",цинк",ноль,0,12 2,шестигранник,гайка,фурнитура,"5/16",цинк",ноль,0,18 3,шестигранник,гайка,фурнитура,"3/8",цинк",ноль,0,24 4,шестигранный,болт,фурнитура,"5/16",цинк",4,0,10 5,шестигранник,болт,фурнитура,"3/8",цинк",4,0,16 6,шестигранный,болт,фурнитура,"7/16",цинк",4,0,31 7, дерево, винт, фурнитура, «3/8», цинк», 2,0,64 8,дерево,винт,фурнитура,"1/2",цинк",2,0,88 9, дерево, винт, фурнитура, «9/16», цинк», 2,1,03 Короче говоря, я хочу свернуть/сгладить/взорвать вложенные структуры и массивы в одну плоскую таблицу. привязан к уникальному ключу «id», который затем будет записан в список класса Foo
Учитывая foo.json как ffn
{"оборудование": {"гайка":[{"id":1,"type":"шестигранник","размер":"1/4","отделка":"цинк", "цена":0,12} ,{"id":2,"type":"hex","size":"5/16","finish":"цинк", "price":0.18} ,{"id":3,"type":"hex","size":"3/8","finish":"цинк", "price":0,24}] ,"bolt":[{"id":4,"type":"hex","size":"5/16","finish":"цинк", "length":4,"price":0.10 } ,{"id":5,"type":"hex","size":"3/8","finish":"цинк", "length":4,"price":0.16} ,{"id":6,"type":"hex","size":"7/16","finish":"цинк", "length":4,"price":0.31}] ,"винт":[{"id":7,"type":"дерево","размер":"3/8","отделка":"цинк", "длина":2,"цена":0.64 } ,{"id":8,"type":"дерево","размер":"1/2","отделка":"цинк", "длина":2,"цена":0,88} ,{"id":9,"type":"дерево","размер":"9/16","отделка":"цинк", "длина":2,"цена":1.03}] } } и
Схема StructType = createSchema(); // просто предположим, что это работает искра = SparkSession.builder().master("local[*]").getOrCreate(); Dataset df = spark.read().option("многострочный", true).schema(schema).json(ffn); в это:
1,шестигранник,гайка,фурнитура,"1/4",цинк",ноль,0,12 2,шестигранник,гайка,фурнитура,"5/16",цинк",ноль,0,18 3,шестигранник,гайка,фурнитура,"3/8",цинк",ноль,0,24 4,шестигранный,болт,фурнитура,"5/16",цинк",4,0,10 5,шестигранник,болт,фурнитура,"3/8",цинк",4,0,16 6,шестигранный,болт,фурнитура,"7/16",цинк",4,0,31 7, дерево, винт, фурнитура, «3/8», цинк», 2,0,64 8,дерево,винт,фурнитура,"1/2",цинк",2,0,88 9, дерево, винт, фурнитура, «9/16», цинк», 2,1,03 Короче говоря, я хочу свернуть/сгладить/взорвать вложенные структуры и массивы в одну плоскую таблицу. привязан к уникальному ключу «id», который затем будет записан в список класса Foo
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение