#!/usr/bin/python#-*- coding: UTF-8 -*-
importosimportjsonimportsys
reload(sys)
sys.setdefaultencoding("utf-8")
json_file= 'alink.json' #读文件
md_file = 'alink.md' #写文件
#写入模版
protocol_templete ='## {pName}\n### [Format]\n```json\n {{\n "{property}":\"\"\n }}\n```\n### [Parameters]\n* {property};{pType};属性说明.\n* specs:{pSpecs}\n\n\n'
defwriteServices(jsonObj):print(jsonObj)
pName= jsonObj["name"];#pType = jsonObj["type"];
defwriteProperty( jsonObj ):
pName= jsonObj["name"];
property= jsonObj["identifier"];
pType= jsonObj["dataType"]["type"]
pSpecs= json.dumps(jsonObj["dataType"]["specs"])print(pSpecs.decode('raw_unicode_escape')) //解决中文编码问题#print(protocol_templete.format(pName="".join(pName),pType=pType,pSpecs=pSpecs,property="".join(property)))
#writeFile(protocol_templete)
writeFile(protocol_templete.format(pName="".join(pName),pType=pType,pSpecs=pSpecs.decode('raw_unicode_escape'),property="".join(property)))defwriteEvent(jsonObj):print(jsonObj)#追加文件内容
defwriteFile(str):
with open(md_file,'a+') as fo:
fo.write(str)
fo.close();defhandleJson(alinkDic):#print(str(alinkDic)) # services = alinkDic["services"]# print(services)
for k inalinkDic.keys():
list= ["services","events","properties"]if(k inlist) :
writeFile("## %s\n"%k)
values= alinkDic[k] #list
if(k == "services"):
map(writeServices,values)elif(k == "events"):
map(writeEvent,values)else:
map(writeProperty,values)if __name__ == '__main__':ifos.path.exists(json_file):
fileContent=open(json_file).read();#清空文件
with open(md_file, 'wb+') as file:
file.close();
jsonDic= json.loads(fileContent) #print(open(json_file).read()); //打印json文件
handleJson(jsonDic) #print(json.loads(''.join(open(json_file).readlines()))) //json对象转换成python对象
else:print 'json 配置文件不存在'