Dead Code/[toy] bookmarker

[플러터] windows bookmarker - path.json

2025. 3. 13.



북마커를 구성할 path.json 파일을 아래와 같이 구성했다. txt파일로 만들었더니, 갯수가 많아지니까 헤깔려지기 시작한다. 그래서 json파일로 구성을 했고, 해당 파일을 수정하고 refresh 아이콘을 눌러주면 업데이트가 되도록 한다.

- name : 아이콘에 뜰 이름

- img : 아이콘에 사용할 이미지

- link : 사용할 URI

 

 

살짝 아쉬운 부분은 json파일 때문인데, value아이템들의 갯수가 맞는지 알 수 없다는 것이고, 주석처리가 불가능하여 항목이 뭐였는지 알기 어렵다는 점이다.

 

각 key별 value의 갯수가 맞지 않을때, 예외 처리도 했어야 하는데 귀차니즘으로 안했더니, 갯수가 안맞으면, 실행이 안된다.

{
  "name": [
    "myblog",
    "myblog\nadmin",
    "chatGPT",
    "adsense",
    "kakaotalk",
    "excel2019",
    "ESPANSO",
    "scrcpy",
    "jpgToWebp",
    "refresh"
  ],
  "img": [
    "./path\\img\\2.png",
    "./path\\img\\logo.webp",
    "./path\\img\\chatGPT.png",
    "./path\\img\\adsense.png",
    "./path\\img\\kakao.webp",
    "./path\\img\\ex.png",
    "./path\\img\\espan.png",
    "./path\\img\\scrpy.png",
    "./path\\img\\webp-devsite-icon_72.png",
    "./path\\img\\ref.png"
  ],
  "link": [
    "C:\\Program Files (x86)\\Kakao\\KakaoTalk\\KakaoTalk.exe",
    "C:\\Program Files\\Microsoft Office\\root\\Office16\\EXCEL.exe",
    "C:\\Users\\bong\\Desktop\\__바로가기\\program\\espanso-portable\\START_ESPANSO3.bat",
    "C:\\Users\\bong\\Desktop\\__바로가기\\program\\scrcpy-win64-v2.6.1\\scrcpy.bat",
    "E:\\FOR_programming\\py\\jpgToWebp\\jpgToWebp.bat",
  ]
}

 

 

json decoding

flutter에서 map으로 호출하는 방식을 사용한다. 매번 사용하면서 느끼는 거지만, 매번 까먹는 아주 기묘한 함수라 할 수 있다.

Future<void> readJsonFileAsMap(String filePath) async {
  File file = File(filePath);

  if (!await file.exists()) {
    debugPrint("json 파일이 존재하지 않습니다: $filePath");
  }

  // 파일 내용 읽기
  String content = await file.readAsString();

  // JSON 디코딩
  Map<String, dynamic> jsonData = jsonDecode(content);

  // Map<String, dynamic> → Map<String, List<String>> 변환
  itemlist = jsonData.map((key, value) {
    return MapEntry(key, List<String>.from(value));
  });
}

 

 

 

끝.