LoginSignup
13
12

More than 5 years have passed since last update.

TouchDesignerでJSONをDAT Tableにパースする

Last updated at Posted at 2019-04-04

はじめに

世の中には様々なAPIがありますが、ほとんどのAPIがJSON形式でデータで返してきます。
TouchDesignerでは連想配列に似たようなデータ保持の仕組みでTableDATというものがあります。
本稿では、TouchDesignerで何かしらのJSON形式のデータをTouchDesignerで扱いやすくするためにDAT TableにしてDAT to CHOPでCHOPで扱いやすくする方法を忘備録としてまとめたものです。

今回はネストが無いJSONデータをDAT Tableにパースしています。

さっそくスクリプト

# jsonを扱うために標準パッケージをインポート
import json

s = '{"a": "1", "b": "2", "c": "3"}'

jsonData = json.loads(s)

# DAT Tableの値を初期化
op('table_data').clear()

# JsonDataをforで回しながら取り出す
for key, val in jsonData.items():
    # とりだしたデータをDAT Tableの最終行に追加
    op('table_data').appendRow([key, val])

ノードはこんな感じ

ノードはこんな感じになりました。
今回は記事を書くために適当なJSONデータをスクリプト上で用意しましたが、別ファイルのJSONデータを読み込んで利用することも可能です。
Select CHOPを使えばチャンネルごとに数値を取り出すことができるので、ここから先は普段TouchDesignerを使うように数値を煮るなり焼くなりできます。
ノードの全貌

まとめ

TouchDesignerでJSON形式のデータを扱いやすくすることができました。
自分はこの方法をTouchDesignerとNode.jsで開発したサーバーでWebSocket通信をする際に使用しました。
TouchDesignerでのWebSocket通信に関しては、また別の機会に記事をまとめたいと思います。

13
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12