初めまして
タイトル : 初めまして
投稿日 : 2024-04-16
投稿者 {5} :
ユーザーID : mstrknzk
X [1] :
0 : "https://twitter.com/mstrknzk"
Tumblr [2] :
0 : "https://mstrknzk-photo.tumblr.com/"
1 : "https://mstrknzk-vr.tumblr.com/"
cluster [1] :
0 : "https://cluster.mu/u/mstrknzk"
VRChat [1] :
0 : "https://vrchat.com/home/user/usr_31b041a9-0a9b-4cf6-a461-914a50e6403c"
内容 [4] :
0 自己紹介 {9} :
私 : mstrknzk
旧名 : misutirukunnzuki
読み方 : null
趣味 [4] :
0 : ギター
1 : 回路
2 : 写真
3 : VR
仕事 [2] :
0 : プログラマ
1 : null
住処 [1] :
0 : null
部活 [3] :
0 : バドミントン部
1 : ロボコン部
2 : 帰宅部
好き {5} :
時間 {2} :
from : 21:00:00
to : 27:00:00
飲食物 [2] :
0 : 抹茶関連の何か
1 : Dr Pepper
音楽 [3] :
0 : Mr.Children
1 : Bank Band
2 : ウカスカジー
ゲーム [6] :
0 : PORTAL シリーズ
1 : 真三國無双 シリーズ
2 : 真戦国無双
3 : クラッシュバンディクー 3
4 : グラディウス
5 : Sniper Ghost Warrior Contracts シリーズ
色 : 緑
嫌い {3} :
時間 {2} :
from : 06:00:00
to : 12:00:00
飲食物 [4] :
0 : 黒蜜
1 : 黒糖
2 : メープル
3 : 蜂蜜
人混み : null
1 no+eを始めた理由 {3} :
Outputの練習 {2} :
現状 {2} :
書く事 : 苦手
話す事 : 苦手
対策 [1] :
0 : 何らかの媒体への記録
Outputの継続 {3} :
現状 {1} :
継続して何かを投稿する事 : 苦手
対策 [2] :
0 : 目に触れやすい媒体で投稿する
1 : 監視されていることを意識する
懸念 {1} :
ネタが無い [3] :
0 : 不定期
1 : 忘却
2 : 継続不能
no+eの記事を見るようになった : null
2 記事の形式 {3} :
この形式について {5} :
名前 : JSON
正式名称: JavaScript Object Notation
概要 : JavaScriptというプログラミング言語におけるオブジェクトの書き方を参考に作られたデータフォーマット(データの記述形式)のこと
用途 [2]:
0 : プログラミングで生成したデータを保存できる
1 : 異なるプログラミング言語・環境間でデータのやり取りができる
参考・引用文献 [1] :
0 : "https://datamix.co.jp/media/datascience/introduction-to-json/"
この形式の採用理由 [4] :
0 : 可読性が高い
1 : データが小さい
2 : テキストで編集しやすい
3 : 図化できる
そうじゃなくて普通に文章で書けよ。。 [9] :
0 [1] :
0 : さっき、言いましたやん。
1 [3] :
0 : 日本語で文章で書くと、たらたら書いてしまって、結局何が言いたいかも自分でもわからなくなるんですよ。
1 : しかも、書くのに時間が掛かる。今、これを書くのにだって、もう1日経ったのに。。。
2 : もう、めんどくさいところで時間を使いたくないんじゃ。
2 [2] :
0 : あと、文章だと頭に入らないんだよ。
1 : 余計なことばっか視界に入って、大事な情報を抜き出せないんじゃ。
3 [3] :
0 : もっと、分かりやすい言語を作ってくれー。
1 : 分かりやすい言語も作らずに文章で書けとかゆうなー。
2 : これも脱出の手段の模索として試しとるんじゃー。
4 : null
5 [3] :
0 : JSONだったら、階層化出来てイメージしやすいし、
1 : 図化だってできるし、
2 : 文章よりやる気出るし、
6 [3] :
0 : 今のところの改善案ということで、JSONをつかっているから、許して下さい。
1 : 頭の中のデータ化だってできるし、
2 : フォーマットだってある程度できていながら、自由も利くし、
7 : null
8 [2] :
0 : この書き方もいま模索中なので、ちょこちょこ変わってしまうと思いますが、
1 : これでやってみたいと思います。
3 今後の投稿 [266] :
0 ワールド制作 {2} :
ワールド [4] :
0 : MOON-2023-11-24
1 : Beyond-Here-2023-12-26
2 : Home (シサクキ) Ver.0.3
3 : ライブ会場ホール (仮)
プラットフォーム : cluster
1 : null
2 : null
3 : null
4 : null
5 : null
6 : null
7 : null
8 : null
9 : null
10 : null
11 : null
12 : null
13 : null
14 : null
15 : null
16 : null
17 : null
18 : null
19 : null
20 : null
21 : null
22 : null
23 : null
24 : null
25 : null
26 : null
27 : null
28 : null
29 : null
30 : null
31 : null
32 : null
33 : null
34 : null
35 : null
36 : null
37 : null
38 : null
39 : null
40 : null
41 : null
42 : null
43 : null
44 : null
45 : null
46 : null
47 : null
48 : null
49 : null
50 : null
51 : null
52 : null
53 : null
54 : null
55 : null
56 : null
57 : null
58 : null
59 : null
60 : null
61 : null
62 : null
63 : null
64 : null
65 : null
66 : null
67 : null
68 : null
69 : null
70 : null
71 : null
72 : null
73 : null
74 : null
75 : null
76 : null
77 : null
78 : null
79 : null
80 : null
81 : null
82 : null
83 : null
84 : null
85 : null
86 : null
87 : null
88 : null
89 : null
90 : null
91 : null
92 : null
93 : null
94 : null
95 : null
96 : null
97 : null
98 : null
99 : null
100 : null
101 : null
102 : null
103 : null
104 : null
105 : null
106 : null
107 : null
108 : null
109 : null
110 : null
111 : null
112 : null
113 : null
114 : null
115 : null
116 : null
117 : null
118 : null
119 : null
120 : null
121 : null
122 : null
123 : null
124 : null
125 : null
126 : null
127 : null
128 : null
129 : null
130 : null
131 : null
132 : null
133 : null
134 : null
135 : null
136 : null
137 : null
138 : null
139 : null
140 : null
141 : null
142 : null
143 : null
144 : null
145 : null
146 : null
147 : null
148 : null
149 : null
150 : null
151 : null
152 : null
153 : null
154 : null
155 : null
156 : null
157 : null
158 : null
159 : null
160 : null
161 : null
162 : null
163 : null
164 : null
165 : null
166 : null
167 : null
168 : null
169 : null
170 : null
171 : null
172 : null
173 : null
174 : null
175 : null
176 : null
177 : null
178 : null
179 : null
180 : null
181 : null
182 : null
183 : null
184 : null
185 : null
186 : null
187 : null
188 : null
189 : null
190 : null
191 : null
192 : null
193 : null
194 : null
195 : null
196 : null
197 : null
198 : null
199 : null
200 : null
201 : null
202 : null
203 : null
204 : null
205 : null
206 : null
207 : null
208 : null
209 : null
210 : null
211 : null
212 : null
213 : null
214 : null
215 : null
216 : null
217 : null
218 : null
219 : null
220 : null
221 : null
222 : null
223 : null
224 : null
225 : null
226 : null
227 : null
228 : null
229 : null
230 : null
231 : null
232 : null
233 : null
234 : null
235 : null
236 : null
237 : null
238 : null
239 : null
240 : null
241 : null
242 : null
243 : null
244 : null
245 : null
246 : null
247 : null
248 : null
249 : null
250 : null
251 : null
252 : null
253 : null
254 : null
255 : null
256 : null
257 : null
258 : null
259 : null
260 : null
261 : null
262 : null
263 : null
264 : null
265 : null
{
"タイトル": "初めまして",
"投稿日": "2024-04-16",
"投稿者": {
"ユーザーID": "mstrknzk",
"X": [
"https://twitter.com/mstrknzk"
],
"Tumblr": [
"https://mstrknzk-photo.tumblr.com/",
"https://mstrknzk-vr.tumblr.com/"
],
"cluster": [
"https://cluster.mu/u/mstrknzk"
],
"VRChat": [
"https://vrchat.com/home/user/usr_31b041a9-0a9b-4cf6-a461-914a50e6403c"
]
},
"内容":[
{
"自己紹介":{
"私":"mstrknzk",
"旧名":"misutirukunnzuki",
"読み方":null,
"趣味":[
"ギター",
"回路",
"写真",
"VR"
],
"仕事":["プログラマ",null],
"住処":[null],
"部活":[
"バドミントン部",
"ロボコン部",
"帰宅部"
],
"好き":{
"時間":{
"from":"21:00:00",
"to":"27:00:00"
},
"飲食物":[
"抹茶関連の何か",
"Dr Pepper"
],
"音楽":[
"Mr.Children",
"Bank Band",
"ウカスカジー"
],
"ゲーム":[
"PORTAL シリーズ",
"真三國無双 シリーズ",
"真戦国無双",
"クラッシュバンディクー 3",
"グラディウス",
"Sniper Ghost Warrior Contracts シリーズ"
],
"色":"緑"
},
"嫌い":{
"時間":{
"from":"06:00:00",
"to":"12:00:00"
},
"飲食物":[
"黒蜜",
"黒糖",
"メープル",
"蜂蜜"
],
"人混み":null
}
}
},
{
"no+eを始めた理由":{
"Outputの練習":{
"現状":{
"書く事": "苦手",
"話す事": "苦手"
},
"対策":[
"何らかの媒体への記録"
]
},
"Outputの継続":{
"現状":{
"継続して何かを投稿する事": "苦手"
},
"対策":[
"目に触れやすい媒体で投稿する",
"監視されていることを意識する"
],
"懸念":{
"ネタが無い":[
"不定期",
"忘却",
"継続不能"
]
}
},
"no+eの記事を見るようになった":null
}
},
{
"記事の形式":{
"この形式について":{
"名前":"JSON",
"正式名称":"JavaScript Object Notation",
"概要":"JavaScriptというプログラミング言語におけるオブジェクトの書き方を参考に作られたデータフォーマット(データの記述形式)のこと",
"用途":[
"プログラミングで生成したデータを保存できる",
"異なるプログラミング言語・環境間でデータのやり取りができる"
],
"参考・引用文献":["https://datamix.co.jp/media/datascience/introduction-to-json/"]
},
"この形式の採用理由":[
"可読性が高い",
"データが小さい",
"テキストで編集しやすい",
"図化できる"
],
"そうじゃなくて普通に文章で書けよ。。":[
[
"さっき、言いましたやん。"
],
[
"日本語で文章で書くと、たらたら書いてしまって、結局何が言いたいかも自分でもわからなくなるんですよ。",
"しかも、書くのに時間が掛かる。今、これを書くのにだって、もう1日経ったのに。。。",
"もう、めんどくさいところで時間を使いたくないんじゃ。"
],
[
"あと、文章だと頭に入らないんだよ。",
"余計なことばっか視界に入って、大事な情報を抜き出せないんじゃ。"
],
[
"もっと、分かりやすい言語を作ってくれー。",
"分かりやすい言語も作らずに文章で書けとかゆうなー。",
"これも脱出の手段の模索として試しとるんじゃー。"
],
null,
[
"JSONだったら、階層化出来てイメージしやすいし、",
"図化だってできるし、",
"文章よりやる気出るし、"
],
[
"今のところの改善案ということで、JSONをつかっているから、許して下さい。",
"頭の中のデータ化だってできるし、",
"フォーマットだってある程度できていながら、自由も利くし、"
],
null,
[
"この書き方もいま模索中なので、ちょこちょこ変わってしまうと思いますが、",
"これでやってみたいと思います。"
]
]
}
},
{
"今後の投稿":[
{
"ワールド制作":{
"ワールド":[
"MOON-2023-11-24",
"Beyond-Here-2023-12-26",
"Home (シサクキ) Ver.0.3",
"ライブ会場ホール (仮)"
],
"プラットフォーム":"cluster"
}
},
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null
]
}
]
}
import json
import unicodedata
def string_width(string):
u"""
Measure rendering width of string.
Count ZENKAKU-character as 2-point and non ZENKAKU-character as 1-point
>>> string_width(u"abc")
3
>>> string_width(u"あいう")
6
>>> string_width(u"あいc")
5
"""
width = 0
for c in string:
char_width = unicodedata.east_asian_width(c)
if char_width in u"WFA":
width += 2
else:
width += 1
return width
report = ""
def json_tree(data,index=None,indent=0,parent_list=False):
global report
space = "\t" * indent
if type(data) == dict:
for i,k in enumerate(data.keys()):
j = []
if index != None:
j.append(str(index)+" ")
j.append(k)
width = (max([string_width(_k) for _k in data.keys()]) - string_width(k))
print([width , width//4])
j.append("" * (width//4))
if type(data[k]) == list:
j.append(f"[{len(data[k])}]")
elif type(data[k]) == dict:
j.append("{"+f"{len(data[k].keys())}"+"}")
j.append("\t: ")
report += space + "".join(j)
if type(data[k]) in [list,dict] :
report += "\n"
json_tree(data[k],None,indent+1)
# if type(data[k]) in [dict] :
# report += "\n"
elif type(data) == list and len(data) > 0:
if parent_list:
j = [f"[{len(data)}]" , "\t: " ]
report += space + "".join(j)
report += "\n"
for i,d in enumerate(data):
json_tree(d,i,indent+bool(parent_list),type(d)==list)
# report += "\n"
else:
j = []
if index != None :
j.append(str(index))
j.append("\t: ")
else:
j.append("")
j.append(str(data) if data != None else "null")
report += (space if index != None else "") + "".join(j) + "\n"
path = "./20240416.json"
j = None
with open(path,encoding="utf-8") as f:
j = json.load(f)
json_tree(j,)
print()
with open(path+".txt",mode="w",encoding="utf-8") as f:
f.write(report)
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?