Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как изменить какие либо данные в существующей строке JSON? (http://www.flasher.ru/forum/showthread.php?t=178033)

mihael_p 13.04.2012 14:49

Как изменить какие либо данные в существующей строке JSON?
 
В файле храню вот такую строку JSON :

Код AS3:

{"personajes":[{"npc1":[{"lastLevel":6},{"cNum":["2","3","2","0","3","0","0","2","2","0"]}]},{"npc2":[{"lastLevel":1},{"cNum":["4","3","2","0","3","0","0","0","0","0"]}]},{"npc3":[{"lastLevel":5},{"cNum":["2","1","2","0","3","0","1","1","0","0"]}]},{"npc4":[{"lastLevel":8},{"cNum":["2","3","2","0","3","0","0","2","0","0"]}]},{"npc5":[{"lastLevel":9},{"cNum":["2","3","0","0","3","0","0","0","1","0"]}]},{"npc6":[{"lastLevel":3},{"cNum":["2","3","2","1","3","1","0","0","0","0"]}]},{"npc7":[{"lastLevel":5},{"cNum":["2","3","2","0","3","0","2","0","0","2"]}]},{"npc8":[{"lastLevel":4},{"cNum":["0","3","0","0","3","0","0","0","0","0"]}]}]}

Как изменить, допустим вот этот объект:
Код AS3:

{"npc5":[{"lastLevel":9},{"cNum":["2","3","0","0","3","0","0","9","1","0"]}]}

Возможно ли такое сделать, или же нужно записывать всю строку целиком?
Пишу на AIR. Пытаюсь сделать это с помощью
Код AS3:

FileStream FileMode.UPDATE

Вот код:
Код AS3:

                        var prefsFile:File = File.documentsDirectory;
                        prefsFile = prefsFile.resolvePath("preferences.txt");
 
                        var info:Object = {"npc5":[{"lastLevel":9},{"cNum":["2","3","0","0","3","0","0","9","1","0"]}]};
                        var ss = JSON.encode(info);
                        var fs:FileStream = new FileStream();
                        fs.open(prefsFile, FileMode.UPDATE);
                        fs.writeUTFBytes(ss);
                        fs.close();


DaFive 13.04.2012 14:51

Можно конечно высчитать позиции символов и от них перезаписать нужное количество. А можно и грохнуть всю строку в файле и записать новую.


Часовой пояс GMT +4, время: 01:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.