JSONを生成してファイルに出力するプログラムを書いています。ファイルに出力する最初のコンテンツは、次のJSON文字列です。
var jsonStyle = {'color': '#004070',
'weight': 2,
'opacity': 0.9}
次に、PythonJSONライブラリを使用してJSON出力を生成します。これは私が渡すPythonオブジェクトですjson.dumps
:
js = {'type': 'Feature',
'properties':
{'style': 'jsonStyle'},
'geometry': geomJSON}
テキスト出力を次のようにします。
js = {'type': 'Feature',
'properties':
{'style': jsonStyle},
'geometry': geomJSON}
このようにjsonStyle
して、出力ファイルの上部で編集して、後続のすべてのJSON要素のスタイルを変更できます。問題は、JSONオブジェクトの出力を構造化する現在の方法です'jsonStyle'
。これは、Javascript変数名ではなく文字列です。代わりに、出力するスタイル文字列の辞書バージョンにスタイルキーを設定すると、後続のすべてのJSON要素にそのJSONオブジェクトが含まれます。style
PythonでエンコードするときにJavascript変数名を参照させる方法がわかりません。
このために文字列操作を行う必要はありませんが、それに頼ることはできます。
編集:
私は実際にはJSONを使用していないと思います。それらを変数としてJavascriptファイルに出力し、JSONオブジェクトとして別のJavascriptファイルに含めることができるようにします。YAMLを使用するか、何らかの文字列編集を行って厳密なJSONエンコーディングを放棄する必要があるようです。