1

json からスカラー値を抽出したい。

  • JSON が二重引用符を使用していることを知っています。

  • スカラーのデータ型を知っている: 文字列、数値、日付、ブール値。

  • スカラーが最初のレベルになることを知っている、つまり、埋め込みオブジェクトの属性ではない

    { "欲しい": "文字列" } => "文字列"

    { "したい": 123 } => 123

    { "ない": { "したい": "間違っている" }, "したい": "正しい" } => "正しい"

    { "何もない": 0 } => null / 見つからない

開始/終了の引用符の処理方法がわかりません。また、埋め込みオブジェクトの処理方法もわかりません。

これは可能ですか?


これは私がこれまでに思いついた最高のものです:

// match `want` attribute
(?:"want"\s*:\s*)                                        

// string, number, boolean or null
(((?:")([^"]*)(?:"))|([-0-9][.eE0-9]*)|true|false|null)

// followed by comma or right bracket
(?:\s*(,|}))

それはいいから

  • で実行できますpostgres

  • ひもをつかむ

  • 数字をつかむ

  • ブール値と null を取得します

悪いから

  • wantが第 1 レベルの属性であることを保証しません

  • 文字列値の内部に引用符 (") を含めることはできません

4

1 に答える 1