#encoding: utf-8
'''
Author:Siukwan
'''
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import json
def txt2str(file='jsondata2.txt'):
'''
打开指定的json文件
'''
fp=open(file)
allLines = fp.readlines()
fp.close()
str=""
for eachLine in allLines:
#eachLine=ConvertCN(eachLine)
#转换成字符串
for i in range(0,len(eachLine)):
#if eachLine[i]!= ' ' and eachLine[i]!= ' ' and eachLine[i]!='\n': #删除空格和换行符,但是json双引号中的内容空格不能删除
str+=eachLine[i]
return str
class jsonparser:
def __init__(self, str=None):
self._str = str
self._index=0
def _skipBlank(self):
'''
跳过空白、换行或tab: \n\t\r
'''
while self._index0: #数组不为空,方便后续格式合并
_str += _to_str(pv[0])
for i in range(1,len(pv)):
_str+=','+_to_str(pv[i])#因为已经合并了第一个,所以可以加逗号
_str+=']'
elif type(pv) == type(''):
#字符串
_str = '"'+pv+'"'
elif pv == True:
_str+='true'
elif pv == False:
_str+='false'
elif pv == None:
_str+='null'
else:
_str = str(pv)
return _str
#main函数
if __name__ == '__main__':
print "test"
'''
jsonInstance=jsonparser(txt2str())
jsonTmp = jsonInstance.parse()
print jsonTmp
print jsonTmp['obj1']['family']['father']
print jsonTmp['obj1']['family']['sister']
print ' '
jsonInstance=jsonparser(txt2str('jsondataArray.txt'))
jsonTmp = jsonInstance.parse()
print jsonTmp
print ' '
'''
jsonInstance=jsonparser(txt2str('jsonTestFile.txt'))
jsonTmp = jsonInstance.parse()
print jsonTmp
print _to_str(jsonTmp)
print ' '
jsonInstance=jsonparser(txt2str('json.txt'))
jsonTmp = jsonInstance.parse()
print jsonTmp
print _to_str(jsonTmp)