HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2023
1230
nennneko5787hspinetのJSONパーサー、Nullで落ちる1解決


nennneko5787

リンク

2023/12/30(Sat) 10:27:30|NO.100951

hspinet.asのjsonget〜系は、Nullで落ちるっぽいです。

json = "{\"value\": null}" jsonopen pointer,json jsongets value,"value",pointer // ←ここで落ちる



この記事に返信する


MIZUSHIKI

リンク

2023/12/30(Sat) 16:50:01|NO.100955

jsongets は文字列型を取得するコマンドなのでヌル値は取得できない(考慮していない)みたいですね。
値が null かもしれない箇所は jsongetobj からの jsonnextのtype値取得オプション で判定してから取得する必要がありそうです。

#include "hspinet.as" json = {"{ "value1": null, "value2": true, "value3": false, "value4": 123, "value5": "str", "value6": [], "value7": {} }"} jsonopen pointer,json mes "オブジェクトのtype値" jsongetobj value,"value1",pointer jsonnext type, value, 3 ; nullが入るかもしれない箇所ではnullチェックを行う mes " "+type+" : ヌル値(null)" jsongetobj value,"value2",pointer jsonnext type, value, 3 mes " "+type+" : 真値(true)" jsongetobj value,"value3",pointer jsonnext type, value, 3 mes " "+type+" : 偽値(false)" jsongetobj value,"value4",pointer jsonnext type, value, 3 mes " "+type+" : 数値(123, 12.3, 1.23e4)" jsongetobj value,"value5",pointer jsonnext type, value, 3 mes " "+type+" : 文字列(\"...\")" jsongetobj value,"value6",pointer jsonnext type, value, 3 mes " "+type+" : 配列([...])" jsongetobj value,"value7",pointer jsonnext type, value, 3 mes " "+type+" : オブジェクト({...})"



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.100951への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

ONION software Copyright 1997-2023(c) All rights reserved.