2016-09-05 3 views
0

Folks, Я пытаюсь получить доступ к значению json из службы обслуживания Azure ML, но я все время получаю нулевое значение, я пробовал разные варианты, но он не работал. Можете ли вы предоставить идеи.Чтение значения объекта JSON в коде C#

Json Строка

{ 
    "Results": { 
     "output1": { 
      "type": "table", 
      "value": { 
       "ColumnNames": ["Sentiment", 
       "Score"], 
       "ColumnTypes": ["String", 
       "Double"], 
       "Values": [["negative", 
       "0.20"], 
       **["negative", 
       "0.03"]**] 
      } 
     } 
    } 
} 

Попытка получить значение между **

Пробовал ниже.

using Newtonsoft.Json.Linq; 
JObject o = JObject.Parse(sentimentvalue); 
string valv = (string)o.SelectToken("Results[0].output1[0].Values[0]"); 
+1

Вы должны обеспечить правильный JPath для SelectToken – thangcao

+3

Вы можете десериализации с помощью следующей функции ... Newtonsoft.Json.JsonConvert.DeserializeObject – AntDC

+1

JObject.Parse (JSON) [ "Результаты"] [ "output1"] ["value"] ["Values"] –

ответ

2

Ваш путь JSON в SelectToken кажется неправильным. Попробуйте это:

string valv = (string)o.SelectToken("$.Results.output1.value.Values[0][1]"); 
+0

Спасибо, но как я специально обращаюсь к приведенным ниже значениям. Теперь моя консоль выглядит так: ["negative", "0.03"] – xtechkid

+0

Я думаю, что нашел. string valv = (string) o.SelectToken ("$. Results.output1.value.Values ​​[0] [1 ]").Нанизывать(); – xtechkid

+0

@xtechkid спасибо, друг! – stefankmitph