json形式の文字列データ
を読み込み、"val"の値を3から2013に書き換えて出力したい状況なのですが、
{ "val":3, "str":"hoge" }
を実行すると、出力されるjsontest_out.txtが
#include "hspinet.as" sdim s,64 notesel s: noteload "jsontest.txt" jsonopen jsp_root,s jsonputi jsp_root,"val",2013,0 jsonout s,jsp_root notesave "jsontest_out.txt": noteunsel jsonclose
となり、キーが重複してしまいます。
{ "val": 3, "str": "hoge", "val": 2013 }
のような(キーが重複しない)出力を得るためには、
{ "val": 2013, "str": "hoge" }
どのようなコードを書けばよいでしょうか。
一度"val"というキーを削除すれば良いのかと思い、
というコードも試しましたが、途中でフリーズしてしまいました。
#include "hspinet.as" sdim s,64 notesel s: noteload "jsontest.txt" jsonopen jsp_root,s jsongetobj jsp_val,"val",jsp_root jsondelobj jsp_val jsonputi jsp_root,"val",2013,0 jsonout s,jsp_root notesave "jsontest_out.txt": noteunsel jsonclose
そもそも、jsondelobjはオブジェクトの削除であって値の削除ではないので
見当違いなのでは、とも感じました。
json系の命令を使ったHSPソースコードがあまりウェブ上では見つからず、
質問させていただきました次第です。助言いただけますと幸いです。