2017-08-03 9 views
-2

私は次のjsonを持っていて、そこから "data_type"という項目をスキップしたいとします。key:hash/jsonからの値を取り除くための正規表現

{ 
    "marketing_type":"FIT", 
    "controllable":"true", 
    "plannable":"true", 
    "sbm_qualified":"true", 
    "marginal_cost":"{:type=>\"float\", :label=>\"Marginal Cost to steer\",:unit=>\"$/MWh\", :default=>100} must be float.", 
    "data_type": "any_value", 
    "start_cost":"{:type=>\"float\", :label=>\"Start Cost\", :unit=>\"$\",:default=>0} must be float." 
} 

予想される出力は「data_type」エントリを上から削除する必要があります。代わりに正規表現と文字列操作を使用しての

+4

あなたが作業している何語?実際にはJSONとして扱い、実際のデータとして扱い、文字列操作ではなくロジックで削除する方がよいでしょう。 –

+0

"\" data_type \ "を試してください:\ s * \" \ w + \ "、 – ikleschenkov

+0

SQLクエリを書くには、" update table_name set column_name = column_name( "data_type"フィールドはスキップしてください)のようにします。 –

答えて

0

、そしてあなたは、少なくともMySQLの5.7を実行している場合、あなたは組み込みのJSON機能の一つ、json_removeを使用することができます。

update table_name set column_name = json_remove(column_name, "$.data_type") 
+0

ありがとう@ジェームス!しかし、私はJSON_REMOVEがMySQL 5.7で追加されたと思います。私はMySQL 5.5を使用しています。あなたにはこれに対する解決策がありますか? –

+0

アップグレードMySQL :) –

+0

@ChetanKaloreあなたの現在の問題、特にmysqlタグの詳細については、あなたの質問を編集する価値があるでしょう。 –

関連する問題