2015-10-10 42 views
0

我想用python解析json文件,但是一些返回的字符串看起來太長,並且在解析時被切斷併產生問題。我試圖找出一種方法來返回字符串中的字符數有限的字符串,但我有一些麻煩找出最好的方法來做到這一點。在python中縮短字符串

現在我想的東西的工作,如下面:

def clean_string(string_val): 
    return '\"' + string.replace(string_val,'\"','\'\'')+'\"' 
    return string.replace(string_val,'$','\$') 
    return string_val[:150] 

但是這是不工作和腳本仍然返回完整的字符串。

有關上述代碼更改的任何想法,以便它可能需要一串500個單詞並將其縮減爲150個字符?

在此先感謝!請讓我知道是否有助於我包含更多信息。

+0

你是什麼意思「'一些返回的字符串似乎太長,正在被切斷''。如果你有Json,那麼每個領域都必須在那裏。 – iamkhush

+0

JSON文件中的一個元素是給定項目的描述類別。一些描述相當長,我注意到解析器在遇到長描述時會中斷,並在大約8060個字符處切斷。我想出了一個解決這個問題的好方法,就是首先減少字符串,然後嘗試解析它。有什麼想法嗎?是否有某種類型的json解析的最大限制可以刪除大約8060個字符? – Seano314

+0

您的方法有效 –

回答

2

您的函數中有多個返回值,所以只有第一個返回值在第一行。這應該接近你想要的。

def clean_string(string_val): 
    string_val = '\"' + string_val.replace('\"','\'\'') + '\"' 
    string_val = string_val.replace('$','\$') 
    return string_val[:150]