JSON文字列からデータを解析します。
FILTERJSON(json_string)
有効な引数は次のとおりです。
引数 | 説明 |
---|---|
json_string | [必須] 有効な形式のJSON文字列データ |
JSON文字列には無効な形式がある場合、#VALUE!エラーが返されます。次の表は、いくつかの例とその期待する結果を表示します。
JSON文字列 | 数式 | 結果 |
---|---|---|
{"a": 123} | FILTERJSON("{""a"": 123}") | [object Object] |
"123" | FILTERJSON("123") | 123 |
[1,2, "string"] | FILTERJSON([1,2,"string"]) | #VALUE! |
{a: 123} | FILTERJSON("{a: 123}") | #VALUE! |
'[1, "string", {"a": 123}]' | FILTERJSON("[1, ""string"", {""a"": 123}]") | 1 | string | [object Object] |
文字列型のデータを受け取ります。スカラー値、オブジェクト、またはオブジェクトの配列を返します。
JSON文字列からデータを解析できます。
JavaScript |
コードのコピー
|
---|---|
var json_string = `{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "isbn": "0-553-21311-3", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "isbn": "0-395-19395-8", "price": 22.99 } ], "bicycle": { "color": "red", "price": 19.95 } }, "expensive": 10 }`; sheet.setValue(4,0,json_string); sheet.setFormula(5,0,'=FILTERJSON(A5)'); sheet.setFormula(6,0,'=PROPERTY(A6,"store.book.0.title")'); // "Sayings of the Century" |
JSONデータを含むURLを解析するには、FILTERJSON関数をWEBSERVICE関数をネストして使用できます。解析されたデータをPROPERTY関数を使用して表示できます。
JavaScript |
コードのコピー
|
---|---|
sheet.setFormula(0,0,'=FILTERJSON(WEBSERVICE("https://cors-demo.glitch.me/allow-cors"))'); // WEBSERVICEはjsonデータを取得します。 sheet.setFormula(1,0,'=PROPERTY(A1,"message")'); spread.options.allowDynamicArray = true; // dynamicArrayを許可します。 sheet.setFormula(2,0,'=FILTERJSON(WEBSERVICE("https://restcountries.eu/rest/v2/name/Japan"))'); // WEBSERVICEはjsonデータを取得します。 sheet.setFormula(3,0,'=PROPERTY(A3,"name")'); // "日本" |