質問: records + JsonConverter.ConvertToJson(JsonObject, Whitespace:=2) + "," Debug.Print records JsonObject.RemoveAll Loop ```
回答: JSON内の文字は`\u16進数四桁`という形式でも表記できるため、 `"product_name": "SKS2\u677F\uFF7D\uFF77\uFF9D\uFF8A\uFF9F\uFF7D"` はJSONとして有効な文字列です。 そのため「文字化け」というよりはそういう仕様です。 JsonConverterが以下のページのものであれば、作者が英語圏の方であり、 VBAの仕様上ASCII以外の文字はVBEの画面では正常に表示されない可能性があるため、それ以外の文字をエスケープしているのでしょう。 > > VBA-JSON/JsonConverter.bas at master · VBA-tools/VBA-JSON > > > 「api」というのがJSONを受け取るAPIであれば、普通対応している思うのでそのまま送信してしまえば問題無いでしょう。 参考として、以下の方法で`SKS2板スキンパス`という文字列が得られます。 ``` // ブラウザのコンソールなどで実行 JSON.parse('"SKS2\u677F\uFF7D\uFF77\uFF9D\uFF8A\uFF9F\uFF7D"') ``` ``` # PowerShellのコンソール上で実行 ConvertFrom-Json -InputObject '"SKS2\u677F\uFF7D\uFF77\uFF9D\uFF8A\uFF9F\uFF7D"' ```