質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

2回答

533閲覧

ファイルを開かずに.json読み書きする方法

otokichi_

総合スコア25

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/07/05 07:10

最近はとてもシンプルに.jsonを読み込むことができるようになったようです。
https://www.chromestatus.com/feature/5749863620804608

[やりたいこと]
JavaScriptで.jsonファイルを一瞬でクールに編集したいです。

例えばjQueryなど外部のライブラリのようなものは使えるなら使いたいです。

階層構造はいたってシンプルで、index.htmlファイルに<script>タグ内で
どうにかJSを書いています。

├── index.html
└── data.json

HTML

1<html> 2 <script type="module"> 3 import data from "./data.json" assert { type: "json" }; 4 console.log(data["name"]); 5 </script> 6</html>

json

1{ 2 "id": 1, 3 "name": "tanaka", 4 "result": [ 5 87, 6 83, 7 71, 8 59, 9 91 10 ] 11}

[質問内容]
data.jsonファイルを簡単に読み込むことはできているのですが、
例えば name の tanaka を endou に書き変えることはできるのでしょうか?
つまりdata.jsonがアップデートされれば良いのですが。
PHPのようなサーバーサイド言語でないと難しいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/07/05 07:20 編集

一瞬で はともかく クールに とは。 どちらも個人の感覚によるところが大きいですよね。 ひとまず「思いついているクールではないと思う方法」を具体的に提示されれば判断もできるのですが
m.ts10806

2021/07/05 07:19

あと >data.jsonがアップデートされれば良い というのはファイル自体なのか読み込んだオブジェクトの話なのか
otokichi_

2021/07/05 07:45

コメントありがとうございます! ファイル自体の話になります。 例えば、以下のようなブラウザがダウンロードしてくる感じ はファイル名(1).jsonとかになってしまってクールじゃないです(笑) http://jsfiddle.net/UselessCode/qm5AG/
m.ts10806

2021/07/05 08:52

ダウンロードは別にJavascriptがファイル作ってるわけではなく。
guest

回答2

0

例えば name の tanaka を endou に書き変える

jsonデータがスタティックな状態で保存されているなら
サーバーサイドの処理が必要でしょう。

投稿2021/07/05 07:33

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otokichi_

2021/07/05 07:48

サーバーサイドでないと厳しいでしょうか?その理由に興味がありますが。 シェルスクリプトみたいなことは難しいのかもしれないですね。
yambejp

2021/07/05 07:51 編集

サーバーに保存されているデータはサーバーサイドのプログラムでしか 編集・保存できないからです (命題が私の認識とは違う可能性もあるので微妙ですが・・・)
ku__ra__ge

2021/07/05 08:01

クライアントスクリプトからサーバのファイルを書き換えられると、悪意あるユーザが用意したクライアントスクリプトでサーバのファイルを勝手に書き換えられることになるのでセキュリティ上無理だと思います。
otokichi_

2021/07/05 08:06

サーバにおかず、デスクトップに配置した場合も難しいでしょうか...
yambejp

2021/07/05 08:38 編集

クライアント側のPCにおいたファイルはサーバーから参照できません もともとご自身で管理されているサーバーですよね? であればサーバーサイドプログラムつかうか ローカルで作ったデータをftp的なものでアップロードして 上書きすればよいのでは?
guest

0

例えば name の tanaka を endou に書き変えることはできるのでしょうか?

読み込んだ後からdata.name = 'endou';のようにすることは可能ですが、それとは違うことを求めていますか?

投稿2021/07/05 07:13

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otokichi_

2021/07/05 07:46

読み込んだ後に書き換えて、ファイルを上書き保存したい、という意味になります。 ボタンを押したりしてバシバシ書き変えるアプリを考えています。
maisumakun

2021/07/05 07:50

> ファイルを上書き保存したい サーバにあるファイルについて上書き処理を行うのであれば、サーバサイドのプログラムが必要です。
otokichi_

2021/07/05 08:06

サーバにおかず、デスクトップに配置した場合も難しいでしょうか...
maisumakun

2021/07/05 08:08

File System APIという別な手段を使えばできるかもしれません。
otokichi_

2021/07/05 08:46

VBAとかだとFSOとか使うイメージがあります。 fs ModuleはCDN読み込みで可能なんでしょうか。調べてみまます。
maisumakun

2021/07/05 23:53

> fs ModuleはCDN読み込みで可能なんでしょうか。 それとは別です(Node.jsのfsはNode組み込みの機能なので、ブラウザから使う方法は基本的にありません)。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問