下記のような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ランキング
-
読み込んだQRコードをフォーム...
-
セレクトを全て選択されていな...
-
switch文のswitch(n)の部分を複...
-
セレクトボックスを2つ選択して...
-
jQueryで同じクラス名のものを...
-
①入力フォーム→②確認表示画面→③...
-
jQueryでシンセサイザーを作っ...
-
IndexedDB を使ってファイルア...
-
スマホ上で、左右スワイプで次...
-
GASに文字列として関数を入れる...
-
フォームが空欄の時にフォーム...
-
二次元配列の全要素の全要素を...
-
【GAS】WEBアプリでハイパーリ...
-
画像の表示位置
-
【Google Apps Script】「ライ...
-
変数宣言と初期値代入の場所に...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jsonテキストデータの並び替え...
-
json形式データのデータ連携に...
-
以下のようなjsonファイルで、"...
-
jQuery.msgBoxでのthisの使用に...
-
gulpfile.jsとpackage.jsonの読...
-
http上でrequest されたxmlファ...
-
jQuery $.ajax JSON形式のPOST
-
Ajaxでデータベース更新
-
jQuery.getでレスポンスデータ...
-
VSCodeにて「終了タグ」の背景...
-
フォームからjQuery,jQuery.jso...
-
教えてください!html5.jpを使...
-
【JavaScript】confirmのボタン...
-
HTMLでDBからデータを表形式で...
-
DirectXとOpenGLはどちらが動作...
-
saved from url=(0013)abou
-
ASP.NET(VB)VBソースからJavas...
-
ローカル用HTMLファイルの安全...
-
非同期関数とノンブロッキング...
-
AJAX通信が終わるまで次の処理...
おすすめ情報
すみません閉じカッコが一つ多いのはミスなので無視してくださいm(_ _)m