这两天看到 json 存储格式,注意到它非常适合用来描述比较复杂的数据结构,而且方便生成和解析。当然这本来就是它设计出来的目的,为了给 JavaScript 脚本传递数据的嘛。关于 json 格式的定义这里不再多说,网上有非常多的内容。以下给出一个用来存储光谱拟合结果的 json 文件示意。
{ "id":"1", "model":{ "components":[ {"compid":"1", "funcname":"gaussian", "inipar":[4861], "var":[10, 20, 30], "varlimit":[[9, 11], [15, 30], [20, 40]], "compname":"Hbeta", "comptexname":"H$\\beta$"}, {"compid":"2", "funcname":"gaussian", "inipar":[4340], "var":[10, 20, 30], "varlimit":[[9, 11], [15, 30], [20, 40]], "compname":"Hgamma", "comptexname":"H$\\gamma$"}, {"compid":"3", "funcname":"powerlaw", "inipar":[5100], "var":[2, -1.5], "varlimit":[[0.1, 10], [-10, 0]], "compname":"Hbeta", "comptexname":"H$\beta$"} ], "ties":{ "var":[ {"id":"1", "tie":"profile", "tieid":"2", "parids":["1"], "pars":[]}, {"id":"2", "tie":"value", "tieid":"3", "parids":[], "pars":[0.0]} ], "limit":[ {"id":"1", "tie":"littleShift", "tieid":"1", "parids":["2"], "pars":[-20, 20]} ] } }, "data":{ "file":"XXX.fits", "format":"NULL", "redshift": 0.0, "windows":[[4340, 4560], [4600, 5550], [6000, 7000]] } }
通过上述的文档结构,我们可以很容易地恢复一个拟合对象,也可以把拟合结果连同拟合模型存储为一个 json 文件。
Visits: 119