2015-01-13 4 views
-2

Я пытаюсь найти решение для синтаксического анализа строки JSON с C#.Parse JSON string with C#

На самом деле, я извлечь строку JSON из файла с:

string json = r.ReadToEnd(); 

В этом JSON файл У меня есть список файлов, связанных со статусом, как и что:

{"C:\workspace\folder\test\added.txt": "synced","C:\workspace\folder\test\pending.test": "pending"} 

Я хочу загрузить этот JSON и получить каждую пару key/val.

Но когда я загружаю с JSON:

JObject jsonVal = JObject.Parse(json); 

Эта линия дает мне ошибку ...

Итак, что такое метод? И как я могу сделать, чтобы получить каждый ключ без его имени? Я думал о чем-то вроде этого:

string val = (string)jsonVal[0]; 

Edit: С помощью Visual Studio, когда я смотрю на JSon вар, Visual Studio сказать мне «Строка не Json отформатирован» ...

ли вам есть идея ?

Заранее спасибо;)

+4

Это дает ошибку, и вы не знаете почему? Мы не знаем, почему и то! Вы должны включить сообщение в свой вопрос. Мы не сидим за вашим компьютером, наблюдая за тобой через плечо. Кроме того, вы запустили строку JSON через [JSON Lint] (http://jsonlint.com/)? В нем говорится, что у вас нет действительного JSON. Вы не можете разобрать JSON, если он недействителен. – mason

+3

Ваш пример JSON недействителен. Обратные косые черты должны быть экранированы. – thorn

ответ

2
{ 
    "C:\\workspace\\folder\\test\\added.txt": "synced", 
    "C:\\workspace\\folder\\test\\pending.test": "pending" 
} 

Ваш JSON нуждается в этих обратных косых убежал. Обратите внимание, что \\

http://json.org/