2013-08-13 13 views
0

Я ищу способ удалить последний символ строки JSON, если это не фигурная скобка.Удаление последнего символа объекта JSON

У меня есть целый файл JSON, но по какой-то причине некоторые из строк заканчиваются несколькими пробелами, а затем 0. Я пытаюсь удалить 0, если он появляется, или пропустить эту строку, если она не " т.

Например: Игнорировать это:

{"menu": { 
    "id": "file", 
    "popup": { 
    "menuitem": [ 
     {"value": "New", "onclick": "CreateNewDoc()"}, 
    ] 
    } 
}} 

И удалить 0 из этого:

{"menu": { 
    "id": "file", 
    "popup": { 
    "menuitem": [ 
     {"value": "New", "onclick": "CreateNewDoc()"}, 
    ] 
    } 
}} 0 

Я попытался с помощью:

line = line.rstrip('0') 

Но это не кажется делать что угодно.

+0

К «линии», вы на самом деле означает строку текста? Например, может быть файл '0' после' ','? И что произойдет, если JSON отформатирован странным образом, так что в конце строки есть '0', но' 0' на самом деле является частью JSON? – user2357112

ответ

1

Вы можете использовать регулярные выражения:

import re 
re.sub(r'0$', '', line) 
+0

Никогда не перестаешь удивлять меня, как быстро вы можете получить ответы здесь. Спасибо, отлично работает. – user2649614

+1

Отлично! Не забудьте отметить этот ответ как «принятый» :-) – bdesham

0

Хорошо, это не работает, потому что у вас есть последний символ не 0 но \n или \r\n. Итак, вам нужно

line = line.rstrip().rstrip('0') 
Смежные вопросы