개발자
Javascript에서 dectionary를 json으로 저장했을때 [object Object] 가 나옵니다. 또한 29번줄에서 SyntaxError: Unexpected token: o 라는 에러가 나옵니다.
1const path = "/sdcard/rpggame/rpg.json";
2const buildpath = "/sdcard/rpggame/build.json";
3const build_value = {
4 "꿈터 아파트 101동": {"manage": "default", "size": 38, "money": 279990000, "own": "N", "max": 8},
5 "꿈터 아파트 202동": {"manage": "default", "size": 31, "money": 100099900, "own": "N", "max": 5},
6 "아림오피스 101동": {"manage": "default", "size": 23, "money": 190000000, "own": "N", "max": 5},
7 "아림오피스 202동": {"manage": "default", "size": 23, "money": 200000000, "own": "N", "max": 5},
8 "아림 대저택": {"manage": "default", "size": 101220, "money": 2010122020101220, "own": "N", "max": 10000},
9 "거지 아파트": {"manage": "default", "size": 1, "money": 160000, "own": "N", "max": 1},
10 "사탕 원룸": {"manage": "default", "size": 20, "money": 10000000, "own": "N", "max": 4},
11 "주택1": {"manage": "default", "size": 42, "money": 760000000, "own": "N", "max": 12},
12 "주택2": {"manage": "default", "size": 42, "money": 760000000, "own": "N", "max": 12},
13 "주택3": {"manage": "default", "size": 42, "money": 760000000, "own": "N", "max": 12},
14 "상가1": {"manage": "default", "size": 75, "money": 10909990000, "own": "N", "max": 30},
15 "상가2": {"manage": "default", "size": 80, "money": 1100000000, "own": "N", "max": 30},
16 "상가3": {"manage": "default", "size": 54, "money": 360000000, "own": "N", "max": 14},
17 "int $class": {"manage": "default", "size": 40, "money": 310000000, "own": "N", "max": 9},
18 "areamye apartment": {"manage": "default", "size": 35, "money": 270000000, "own": "N", "max": 6},
19 "Wrrude apartment": {"manage": "default", "size": 29, "money": 140000000, "own": "N", "max": 4}};
20
21if (!new java.io.File(path).canRead()) {
22 FileStream.write(path, '{}');
23}
24if (!new java.io.File(buildpath).canRead()) {
25 FileStream.write(buildpath, build_value); // JSON 문자열을 파일에 기록
26}
27var Information = JSON.parse(FileStream.read(path));
28var buildString = FileStream.read(buildpath); // JSON 문자열로 파일 내용 읽기
29var build = JSON.parse(FileStream.read(buildpath)); // JSON 문자열을 객체로 파싱
답변 2
어디서 어떻게 뭘 했는데 object가 나온다고 물어보시는 걸까요? 뭘 물어보시는 걸까요????? 당연히 Json은 object이니까 object로 나오는 건데 JSON은 JavaScript Object Notation이에요 [object Obect]게 나오지 않고 { "name": "John", } 이렇게 나오게 하지 위해서라면 구조를 제대로 설정하셨는지 확인 부탁드려요 출력을 하거나 보려면 JavaScript로 보시는 거라면 JSON.stringify JSON.parse 활용해 보는 것을 추천드려요 다른 선배님들이 도움을 주지 않으실까 하는데 그러려면 무얼 하다 이런 부분에서 이런 문제가 나왔다 (짧게 소스) 뭘 해봤다 등 답변에 필요한 질문을 해 주셨으면 해요
1 파일을 저장할때 json으로 하나요? 스트링으로 변경해서 하지 않나요? (제가 java 안드로이드 환경은 잘 몰라서요) 저장은 json 으로 하고 parse을 한다? 이상한데요?! 2 FileStream.read(buildpath) 이게 두 번 사용되는데 다시 사용하려면 처음으로 포인터를 이동해야 할 것 같아요 잘 모르겠네요 ㅠㅠ
1const path = "/sdcard/rpggame/rpg.json";
2const buildpath = "/sdcard/rpggame/build.json";
3const build_value = {
4 // ... (이하 코드 동일)
5};
6
7if (!new java.io.File(path).canRead()) {
8 FileStream.write(path, '{}');
9}
10
11if (!new java.io.File(buildpath).canRead()) {
12 FileStream.write(buildpath, JSON.stringify(build_value)); // JSON 문자열을 파일에 기록
13}
14
15var Information = JSON.parse(FileStream.read(path));
16
17var buildString = FileStream.read(buildpath); // JSON 문자열로 파일 내용 읽기
18var build = JSON.parse(buildString); // JSON 문자열을 객체로 파싱
NickSoon
스타트업 개발자 • 2023년 08월 15일
지금 쉬면서 모바일로만 봐서 어렵네요 다른 선배님들이 도와주셨으면 좋겠어요 ㅠㅠ
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!