2017-07-19 82 views
1

我有包含對象列表的文本文件。將逗號添加到JSON對象列表中

{ a:"1", b:"2", c: "3"}{ a:"1", b:"2", c: "3"}{ a:"1", b:"2", c: "3"} 

我想使它成爲有效的Json文件。例如:

[{ a:"1", b:"2", c: "3"},{ a:"1", b:"2", c: "3"},{ a:"1", b:"2", c: "3"}] 

該文件非常大 - 600mb。我需要使用可以更改文件的語言來完成此操作。我試圖找到解決辦法,但我不能。

+0

什麼是你的陣列?請顯示你的陣列。 – Virb

+0

這些對象可以在它們內部嵌套對象嗎? – abhishekkannojia

+2

添加'[',']'並用'}替換'} {',{'? – emed

回答

1

KISS:與},{取代}{[]

+0

這不是一個答案。 OP是要求一種方法來做到這一點,但由於文件非常大,不能使用簡單的文件編輯器來完成。 – abhishekkannojia

+0

這不是一個答案嗎?以編程方式進行編程,使用任何列出的語言高效地讀取文件,並使用直接的標準庫函數,這個過程不需要太多解釋。 – j4nw

+0

那麼這就是這個問題,**方法**。你不覺得OP已經知道'} {'應該被替換爲'},{'。所以這不能回答這個問題。 – abhishekkannojia

-1

不是一個最佳的解決方案包,但它的工作原理按照以下步驟

  1. 如果輸入的是目標文件格式,然後轉換成字符串json.stringify()
  2. 將「} {」替換爲「},{」並在字符串的開始和結尾附加添加打開和關閉括號
  3. 現在將字符串轉換爲對象。
+0

我不能那樣做。我有嵌套的對象:「」用戶名「:」「,」last_name「:」「,」鏈接「:[],」微博「:」「,」created_on「:」「,」has_default_image「:」「,圖像 「:{」 50 「:」 圖像」, 「115」: 「圖像」, 「138」: 「圖像」}, 「ID」: 「」, 「職業」: 「」, 「城市」: 「」, 「FIRST_NAME」: 「」, 「DISPLAY_NAME」: 「」, 「狀態」: 「」, 「位置」: 「」, 「節」:[], 「網站」: 「」, 「公司」: 「」,」統計 「:{」 team_members 「:0,」 意見 「:0,」 升值 「:0,」 意見 「:0,」 追隨者 「:0,」 以下 「:0},」 URL 「:」 「」 國家「:」「,」social_links「:[],」fields「:[]} –

+0

但您沒有在您的要求中提及。 – arun408

+0

如果您需要適當的解決方案,請稍後使用所需信息更新您的問題。我可以在你的評論中看到嵌套對象已經用逗號分隔,但它不是有效的JSON,有一些特殊字符。 – arun408

0

u可以使用這樣

[ 
    { "a":"1", 
     "b":"2", 
     "c": "3" 
    }, 
    { "a":"1", 
     "b":"2", 
     "c": "3" 
    }, 
    { "a":"1", 
     "b":"2", 
     "c": "3" 
    } 
] 
1

Python中的草率而簡單的解決方案:

import json 
tmp = '{ "a":"1", "b":"2", "c": "3"}{ "a":"1", "b":"2", "c": "3"}{ "a":"1", "b":"2", "c": "3"}' # test string 
tmp = tmp.replace('}{', '},{') # replace '}{' with '},{' 
tmp = '[' + tmp + ']' # add brackets around it 
json_string = json.loads(tmp) # confirm that it's valid json 
print(json_string) # print the json_string 

將打印

[{'a': '1', 'b': '2', 'c': '3'}, {'a': '1', 'b': '2', 'c': '3'}, {'a': '1', 'b': '2', 'c': '3'}]