2017-02-27 66 views
0

我有一系列JSON對象,我需要用管道來替換在每個對象的結束所有的逗號|JSON定界符工具

很明顯,我不能用查找替換&,因爲這將取代每一個逗號在JSON中,但我只想替換每個對象末尾的那些。

例如:

{ 
"id":123, 
"name":Joe, 
"last":Smith 

} ,    <----- I want to replace this comma only 

{"id":454 
"name":Bill, 
"last":Smith 
} 
+0

如果這是一個編程問題(即您正在編寫代碼來完成這項工作),您應該添加標籤以識別語言。 –

+0

這不是一個編程問題。我或多或少地問是否有某種在線工具可以爲我做。 我只知道SQL,並不打算這樣做... – james5

回答

1

您可以通過添加「[]」周圍解析JSON,然後重新序列化。

有了一個PHP腳本,你可以做這樣的事情:

$content = file_get_contents('/path/to/yourfile.json'); 

// Add [] around the JSON to make it valid: 
$json = json_decode('[' . $json . ']', true); 

$result = ''; 
foreach ($json as $j) { 
    if ($result != '') $result .= '|'; 
    $result .= json_encode($j); 
} 

echo $result; 
0

已經有一個PHP的解決方案。這是一個正則表達式解決方案。

string s1 = "{\"id\":123,\"name\":Joe,\"last\":Smith} , {\"id\":454,\"name\":Bill,\"last\":Smith}"; 
string pattern = "} , {"; 

var s2 = Regex.Split(s1, pattern); 
string s3 = string.Join(" | ", s2);