2016-03-18 2 views
0

У меня есть конфигурационный файл json, где я пытаюсь получить путь к файлу. Похоже, что это (в записи ключа JSon):Ошибка чтения строки из файла (escaping trouble)

«» путь «»: «» \ myfstore \ Полный привод \ тест \ файлы \ «»

Я прочитал данные JSON в собственность и когда это Я пытаюсь использовать его, как это,

File.WriteAllBytes(myObj.Path + myObj.FileName, aBuffer); 

Я получаю ошибку: «» не удалось найти часть пути «C: \ myfstore \ Полный привод \ тест \ файлы \ MyFile.txt».»

Почему он ставит c: i there? Btw, myfstore - это сетевой ресурс.

И это работает, если я использую переменную так:

string path = @"\\myfstore\xdrive\test\files\" + myObj.FileName; 
File.WriteAllBytes(path, aBuffer); 

Но мне нужно хранить эти пути в файле JSON.

Я попытался выполнить его по-разному в json-файле, но я либо получил ошибку «незаконного символа», либо указанную выше ошибку - «не смог найти часть пути».

Что я делаю неправильно?

+0

Я думаю, это потому, что у вас есть 2 обратные слэши в строке, но только один на JSON переменная –

ответ

0

Мне кажется довольно очевидным. В первом примере у вас есть эта строка:

\myfstore\xdrive\test\files\ 

и в вашем втором примере у вас есть эта строка

\\myfstore\xdrive\test\files\ 

One представляет собой сетевой путь, а другой нет.

Ваш json должен иметь 2 обратных слэша в начале. Не один.

0

Да, после ввода вопроса здесь и поиска снова это стало очевидным. Я должен был изменить значение JSon на:

«путь»: «\\ myfstore \ Полный привод \ тест \ файлы \»

Смежные вопросы