вставка разделителя между линиями JSON после извлечения данных

Вы можете сделать что-то вроде этого:

function convert(items) {
    var result = [];

    items.forEach(function (element) {
        var existingElement = result.filter(function (item) {
            return item.group === element.group;
        })[0];

        if (existingElement) {
            existingElement.color.push(element.color);
        } else {
            element.color = [element.color];
            result.push(element);
        }

    });

    return result;
}
0
задан cerr 13 July 2018 в 22:39
поделиться

2 ответа

Хорошо,

Я обошел его, написав скрипт Python, который может обрабатывать неверно определенные данные JSON. Идея состоит в том, чтобы поочередно перебирать каждую строку, а затем разбивать содержимое на подстроки, чтобы извлечь ascii_code и confidence, которые в конце концов выглядят как:

#!/usr/bin/python

def mysplit( str ):
    spltstr = str.split("code_ascii")
    itr = iter(spltstr)
    next(itr)
    for k in itr:
        a = k.split("\"")
        print a[2] + "     " +a[6]

filepath = 'test2.json'
with open(filepath) as fp: 
    line = fp.readline()
    cnt = 1 
    while line:
        print "----------"
        mysplit(line)
        line = fp.readline()
        cnt += 1

Я думаю, что это должно быть в значительной степени сделай это для меня ...

0
ответ дан cerr 17 August 2018 в 12:08
поделиться

Вы можете использовать awk для печати дополнительной упаковки [ ] и , для каждой строки.

awk 'BEGIN {print "["} END {print "]"} {gsub(/characater/, "char" ++n); print $0 ","}'
0
ответ дан Håken Lid 17 August 2018 в 12:08
поделиться
  • 1
    заменит ли он текущую часть awk? Если да, я получаю: parse error: Expected value before ',' – cerr 13 July 2018 в 22:54
  • 2
    Получаете ли вы эту ошибку из инструментов sed, awk или jq или что-то еще? – Ed Morton 14 July 2018 в 17:54
Другие вопросы по тегам:

Похожие вопросы: