python 字符串轉(zhuǎn)json 出錯(cuò)
問(wèn)題描述
調(diào)用google翻譯英文,返回的字符串?dāng)?shù)據(jù)無(wú)法轉(zhuǎn)換為json。請(qǐng)問(wèn)大神怎么取出數(shù)據(jù)。PS:只要中文。
str1 = ’’’[[['熊貓?jiān)絹?lái)越熟悉互聯(lián)網(wǎng)的發(fā)展。','Panda is familiar by more and more people as the development of Internet.',,,3],['現(xiàn)在人們可以看到互聯(lián)網(wǎng)上的現(xiàn)場(chǎng)表演。','Now people can see the live show from the Internet.',,,3],['這些可愛(ài)的天使受到來(lái)自世界各地的粉絲的青睞。','These lovely angels are favored by the fans from all over the world.',,,3],['他們?cè)谌粘I钪凶鍪裁醋屓舜舐曅ζ饋?lái)。','What they do in the daily life makes people laugh out loudly.',,,3],['沒(méi)有人能夠抵擋這些天使的魅力。','No one can resist the charm from these angels.',,,3],['但是眾所周知,熊貓正在死亡,因?yàn)樗麄儾蝗菀咨鲂碌膵雰骸?,'But it is known to all that panda is dying out, because it is not easy for them to get birth to the new babies.',,,3],['更重要的是,人們破壞了環(huán)境,使熊貓失去了家園。','What’s more, people damage the environment, which makes panda lose their home.',,,3],['我們可以做小事來(lái)保護(hù)他們。','We can do small things to protect them.',,,3],['當(dāng)我們?nèi)?dòng)物園時(shí),我們不應(yīng)該扔掉垃圾,保持安靜,不要打擾這些可愛(ài)的生物。','When we go to the zoo, we should not throw away the rubbish and keep quiet, in the purpose of not to disturb these lovely creature.',,,3],['我們愛(ài)熊貓,我們有責(zé)任保護(hù)他們不要死亡。','We love panda, it is our duty to protect them from dying out.',,,3],[,,'Xióngmāo yuè lái yuè shúxī hùliánwǎng de fǎ zhǎn. Xiànzài rénmen kěyǐ kàn dào hùliánwǎng shàng de xiànchǎng biǎoyǎn. Zhèxiē kě’ài de tiānshǐ shòudào láizì shìjiè gèdì de fěnsī de qīnglài. Tāmen zài rìcháng shēnghuó zhōng zuò shénme ràng rén dàshēng xiào qǐlái. Méiyǒu rén nénggòu dǐdǎng zhèxiē tiānshǐ de mèilì. Dànshì zhòngsuǒzhōuzhī, xióngmāo zhèngzài sǐwáng, yīnwèi tāmen bù róngyì shēngchū xīn de yīng’ér. Gèng zhòngyào de shì, rénmen pòhuàile huánjìng, shǐ xióngmāo shīqùle jiāyuán. Wǒmen kěyǐ zuò xiǎoshì lái bǎohù tāmen. Dāng wǒmen qù dòngwùyuán shí, wǒmen bù yìng gāi rēng diào lèsè, bǎochí ānjìng, bùyào dǎrǎo zhèxiē kě’ài de shēngwù. Wǒmen ài xióngmāo, wǒmen yǒu zérèn bǎohù tāmen bùyào sǐwáng.']],,'en',,,[['Panda is familiar by more and more people as the development of Internet.',,[['熊貓?jiān)絹?lái)越熟悉互聯(lián)網(wǎng)的發(fā)展。',0,true,false],['熊貓是越來(lái)越多的人隨著互聯(lián)網(wǎng)的發(fā)展熟悉。',0,true,false]],[[0,73]],'Panda is familiar by more and more people as the development of Internet.',0,0],['Now people can see the live show from the Internet.',,[['現(xiàn)在人們可以看到互聯(lián)網(wǎng)上的現(xiàn)場(chǎng)表演。',0,true,false],['現(xiàn)在,人們可以從網(wǎng)上看到的現(xiàn)場(chǎng)表演。',0,true,false]],[[0,51]],'Now people can see the live show from the Internet.',0,0],['These lovely angels are favored by the fans from all over the world.',,[['這些可愛(ài)的天使受到來(lái)自世界各地的粉絲的青睞。',0,true,false],['這些可愛(ài)的天使是由球迷從世界各地的青睞。',0,true,false]],[[0,68]],'These lovely angels are favored by the fans from all over the world.',0,0],['What they do in the daily life makes people laugh out loudly.',,[['他們?cè)谌粘I钪凶鍪裁醋屓舜舐曅ζ饋?lái)。',0,true,false],['他們?cè)谌粘I钪凶鲂┦裁醋屓诵α艘宦暋?,0,true,false]],[[0,61]],'What they do in the daily life makes people laugh out loudly.',0,0],['No one can resist the charm from these angels.',,[['沒(méi)有人能夠抵擋這些天使的魅力。',0,true,false],['沒(méi)有人能抵抗這些天使的魅力。',0,true,false]],[[0,46]],'No one can resist the charm from these angels.',0,0],['But it is known to all that panda is dying out, because it is not easy for them to get birth to the new babies.',,[['但是眾所周知,熊貓正在死亡,因?yàn)樗麄儾蝗菀咨鲂碌膵雰骸?,0,true,false],['但眾所周知,大熊貓正在消亡,因?yàn)樗遣蝗菀椎模麄兊玫皆杏诵碌膵雰骸?,0,true,false]],[[0,111]],'But it is known to all that panda is dying out, because it is not easy for them to get birth to the new babies.',0,0],['What’s more, people damage the environment, which makes panda lose their home.',,[['更重要的是,人們破壞了環(huán)境,使熊貓失去了家園。',0,true,false],['更重要的是,人們破壞環(huán)境,這使得熊貓失去了自己的家。',0,true,false]],[[0,78]],'What’s more, people damage the environment, which makes panda lose their home.',0,0],['We can do small things to protect them.',,[['我們可以做小事來(lái)保護(hù)他們。',0,true,false],['我們可以做的小東西來(lái)保護(hù)他們。',0,true,false]],[[0,39]],'We can do small things to protect them.',0,0],['When we go to the zoo, we should not throw away the rubbish and keep quiet, in the purpose of not to disturb these lovely creature.',,[['當(dāng)我們?nèi)?dòng)物園時(shí),我們不應(yīng)該扔掉垃圾,保持安靜,不要打擾這些可愛(ài)的生物。',0,true,false],['當(dāng)我們?nèi)?dòng)物園,我們不應(yīng)該扔掉的垃圾,保持安靜,在不打擾這些可愛(ài)的動(dòng)物的目的。',0,true,false]],[[0,131]],'When we go to the zoo, we should not throw away the rubbish and keep quiet, in the purpose of not to disturb these lovely creature.',0,0],['We love panda, it is our duty to protect them from dying out.',,[['我們愛(ài)熊貓,我們有責(zé)任保護(hù)他們不要死亡。',0,true,false],['我們愛(ài)熊貓,我們有責(zé)任保護(hù)他們免受滅絕。',0,true,false]],[[0,61]],'We love panda, it is our duty to protect them from dying out.',0,0]],0.99901491,,[['en'],,[0.99901491],['en']]]’’’
問(wèn)題解答
回答1:>>> import re>>> import json>>> ss=re.sub(r’([[,])(?=,)’,r’1null’,str1)>>> j=json.loads(ss)>>> for l in j[0]: if l[0] is None : break print(l[0]) ##熊貓?jiān)絹?lái)越熟悉互聯(lián)網(wǎng)的發(fā)展。##現(xiàn)在人們可以看到互聯(lián)網(wǎng)上的現(xiàn)場(chǎng)表演。##這些可愛(ài)的天使受到來(lái)自世界各地的粉絲的青睞。##他們?cè)谌粘I钪凶鍪裁醋屓舜舐曅ζ饋?lái)。##沒(méi)有人能夠抵擋這些天使的魅力。##但是眾所周知,熊貓正在死亡,因?yàn)樗麄儾蝗菀咨鲂碌膵雰骸?#更重要的是,人們破壞了環(huán)境,使熊貓失去了家園。##我們可以做小事來(lái)保護(hù)他們。##當(dāng)我們?nèi)?dòng)物園時(shí),我們不應(yīng)該扔掉垃圾,保持安靜,不要打擾這些可愛(ài)的生物。##我們愛(ài)熊貓,我們有責(zé)任保護(hù)他們不要死亡。>>> for l in j[5]: if isinstance(l,list):print(l[2][1][0]) ##熊貓是越來(lái)越多的人隨著互聯(lián)網(wǎng)的發(fā)展熟悉。##現(xiàn)在,人們可以從網(wǎng)上看到的現(xiàn)場(chǎng)表演。##這些可愛(ài)的天使是由球迷從世界各地的青睞。##他們?cè)谌粘I钪凶鲂┦裁醋屓诵α艘宦暋?#沒(méi)有人能抵抗這些天使的魅力。##但眾所周知,大熊貓正在消亡,因?yàn)樗遣蝗菀椎模麄兊玫皆杏诵碌膵雰骸?#更重要的是,人們破壞環(huán)境,這使得熊貓失去了自己的家。##我們可以做的小東西來(lái)保護(hù)他們。##當(dāng)我們?nèi)?dòng)物園,我們不應(yīng)該扔掉的垃圾,保持安靜,在不打擾這些可愛(ài)的動(dòng)物的目的。##我們愛(ài)熊貓,我們有責(zé)任保護(hù)他們免受滅絕。回答2:
這不是 JSON。
我解析過(guò)這鬼東西:
# vim:fileencoding=utf-8from pyparsing import ( empty, Word, Forward, Suppress, delimitedList, nums, Combine, Regex, ZeroOrMore, hexnums, CharsNotIn, Literal,)escape_map = { ’b’: ’b’, ’f’: ’f’, ’n’: ’n’, ’r’: ’r’, ’t’: ’t’,}def unescapeChar(c): if c in escape_map: return escape_map[c] else: return cescapedChar = ’’ + Regex(’.’)escapedChar.setParseAction(lambda toks: unescapeChar(toks[1]))unicodeChar = (r’u’ + Word(hexnums, exact=4)).setParseAction(lambda toks: chr(int(toks[1], 16)))jString = ’'’ + Combine(ZeroOrMore(unicodeChar | escapedChar | CharsNotIn(’'’))) + ’'’jString.setParseAction(lambda toks: toks[1])jNull = empty(’null’).setParseAction(lambda: [None])jTrue = Literal(’true’).setParseAction(lambda: [True])jFalse = Literal(’false’).setParseAction(lambda: [False])integer = Word(’-’+nums, nums).setParseAction(lambda toks: [int(toks[0])])jAtom = jString | integer | jTrue | jFalse | jNulljArray = Forward()jArray << Suppress(’[’) + delimitedList(jArray | jAtom) + Suppress(’]’)jArray.setParseAction(lambda toks: [[]] if len(toks) == 1 and toks[0] is None else [toks])if __name__ == ’__main__’: test = ’[true,false,,]’ out = jArray.parseString(test).asList()[0] print(out) test = ’[,'ja',[['沙',[4],false,false,1000,0,1,0],]]’ out = jArray.parseString(test).asList()[0] print(out) test = r’’’[[['鬼','ゴースト','Guǐ','Gō'suto']],,'ja',,[['鬼',[4],0,0,1000,-20, 1,0]],[['ゴースト',4,[['鬼',1000,0,0],['幽靈',0,0,0],['鬼魂',0,0,0],['幽魂', 0,0,0],['靈魂',0,0,0]],[[0,4]],'ゴースト']],,,[['ja']],1] ’’’ out = jArray.parseString(test).asList()[0] print(out) out = jArray.parseString(’[]’).asList()[0] print(out) out = jArray.parseString(’[1,2,,4,[],]’).asList()[0] print(out) out = jArray.parseString(’[[,]]’).asList()[0] print(out) out = jString.parseString(r’'this is a u003e test't, hehe'’)[0] print(out)回答3:
你的json串里莫名其妙怎么這么多逗號(hào),連續(xù)的逗號(hào)導(dǎo)致json解析失敗
回答4:import reres = re.findall(r'([u4E00-u9FA5]+)',str1)print(res)
相關(guān)文章:
1. python - 數(shù)據(jù)與循環(huán)次數(shù)對(duì)應(yīng)不上2. node.js - nodejs開(kāi)發(fā)中常用的連接mysql的庫(kù)3. mysql - jdbc的問(wèn)題4. python - 我在使用pip install -r requirements.txt下載時(shí),為什么部分能下載,部分不能下載5. 視頻文件不能播放,怎么辦?6. mysql - 分庫(kù)分表、分區(qū)、讀寫(xiě)分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處7. windows7 ping不通虛擬機(jī)VMware上的linux(ubuntu)的ip8. 網(wǎng)頁(yè)爬蟲(chóng) - python 爬取網(wǎng)站 并解析非json內(nèi)容9. python - 編碼問(wèn)題求助10. mysql - 如何減少使用或者不用LEFT JOIN查詢?
