
下記のようなjsonのテキストデータがあった場合、それを貼り付けたらキーの昇順でソートしてくれるサービスがあれば教えてください。
サービスがなくても簡単に実現できる方法でもかまいません。
どうぞ宜しくお願いいたします!m(_ _)m
------------------jsonデータ----------------------
{
"bbb": {
"c": "c",
"b": "b",
"a": "a"
},
"aaa":{
"b": "b",
"c": "c",
"a": "a"
}
}
}
-------------------------------------------------
↓のように並び変わってほしい
-------------------------------------------------
{
"aaa": {
"a": "a",
"b": "b",
"c": "c"
},
"bbb":{
"a": "a",
"b": "b",
"c": "c"
}
}
}
-------------------------------------------------
No.2ベストアンサー
- 回答日時:
下記のような HTML ファイルをブラウザで表示すれば実現できます
<!DOCTYPE html>
<form name=sortjson><p><textarea name=s></textarea><button type=submit>change</button></p><pre><output name=d></output></pre></form>
<script>
document.forms.sortjson.onsubmit = (event) => {
event.preventDefault();
function F(o) {
if (o == null || typeof o != 'object') return o;
if (o instanceof Array) return o.map(F);
return Object.keys(o).sort().reduce((p,v) => { p[v]=F(o[v]); return p}, new Object());
}
var el = event.target.elements;
try { el.d.value = JSON.stringify(F(JSON.parse(el.s.value)),null,2) }
catch (ex) { el.d.value = ex.toString() }
};
</script>
ありがとうございます。
サービスではありませんでしたが簡単に作成できる形に記載していただけたのでベストアンサーとさせていただきました。
ありがとうございます!
No.1
- 回答日時:
こんばんは
オブジェクトの場合、keyの順序が問題になることはあまりないように思いますけれど・・・
(探してはいませんが、そのようなサービスがあるのかどうか・・)
ご質問がjavascriptのカテなので、javascriptで良いのでしょうか?
(他言語でも、同様と思いますが)
扱いやすいように、一旦オブジェクト化して並べ替え、テキスト化するのが簡単だと思います。
以下では、keyでソートする関数を作成しておいて、必要な回数だけ呼び出す方法です。
ご参考にでもなれば・・
(確認出力は、とりあえずconsoleにしてあります)
const sourceText = `{
"bbb": { "c": "c", "b": "b", "a": "a" },
"aaa": { "b": "b", "c": "c", "a": "a" }
}`;
const keySort = o =>{
const op = Object.entries(o);
op.sort( (a, b) => a[0]==b[0]?0:a[0]>b[0]?1:-1);
return Object.fromEntries(op);
};
const obj = keySort(JSON.parse(sourceText));
for (const k in obj) obj[k] = keySort(obj[k]);
console.log(sourceText); // 元テキストデータ
console.log(JSON.stringify(obj)); // ソート後テキスト
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- JavaScript json形式データのデータ連携について 4 2022/04/05 23:01
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jsonテキストデータの並び替え...
-
テキストファイルの内容を変数...
-
AjaxでDBと連携した動的リスト...
-
subversionでコミットしたらftp...
-
【JavaScript】confirmのボタン...
-
saved from url=(0013)abou
-
8ビットダウンカウンタをVerilo...
-
DelphiでSelectDirectoryを..
-
ajaxでhtmlを返して画面に描画…...
-
HTMLでDBからデータを表形式で...
-
OVERLAPPED構造体が分かりませ...
-
ASP.NET(VB)VBソースからJavas...
-
ASP.NET 動的に行を増やすTable
-
googleマップにajax
-
FFFTPでデータの更新ができません
-
Ajax非同期通信の多重リクエス...
-
http://www.stickerlabo.com/ed...
-
include 再読み込み
-
MacBook Air でVBAについて
-
データ受け渡しについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jsonテキストデータの並び替え...
-
json形式データのデータ連携に...
-
http上でrequest されたxmlファ...
-
テキストファイルの内容を変数...
-
csvを使用したデータバインド(...
-
jQuery.getでレスポンスデータ...
-
queryselctorのセレクタの後ろ...
-
フォームからjQuery,jQuery.jso...
-
【JavaScript】confirmのボタン...
-
ASP.NET(VB)VBソースからJavas...
-
HTMLでDBからデータを表形式で...
-
ajaxでhtmlを返して画面に描画…...
-
DirectXとOpenGLはどちらが動作...
-
saved from url=(0013)abou
-
テーブルで作った表をボタン操...
-
呼び出し元のURLを知りたいのです
-
リンクを押すとEXEファイルを実...
-
sleepの負荷
-
webシステムでchrome
-
php ob_flushが全く動作しない
おすすめ情報
すみません閉じカッコが一つ多いのはミスなので無視してくださいm(_ _)m