Parsing LuisResult å få verdier felt

stemmer
1

Jeg har en LuisResult variabel kalt resultat som har JSON info som

{
  query: what is twenty * three,
  topScoringIntent: {
    intent: Multiplication,
    score: 0.740870655
  },
  intents: [
    {
      intent: Multiplication,
      score: 0.740870655
    },
    {
      intent: Subtraction,
      score: 0.04339512
    },
    {
      intent: None,
      score: 0.0164503977
    },
    {
      intent: addition,
      score: 0.0126439808
    },
    {
      intent: Division,
      score: 0.0108866822
    }
  ],
  entities: [
    {
      entity: twenty,
      type: builtin.number,
      startIndex: 8,
      endIndex: 13,
      resolution: {
        value: 20
      }
    },
    {
      entity: three,
      type: builtin.number,
      startIndex: 17,
      endIndex: 21,
      resolution: {
        value: 3
      }
    }
  ]
}

Jeg prøver å få tilgang til verdi -feltet under oppløsning siden det konverterer streng representasjoner av tall til siffer representasjon. I det øyeblikk jeg prøver bare å få den første verdien. Jeg har prøvd å trekke ut verdien på denne måten

    var valuesEntity = result.Entities;               //IList of all entities
    string s = ;
    s = valuesEntity[i].Resolution.Values.ToString(); //extract value field??
    await context.PostAsync(${s});                  //post to emulator

Dette skriver ut System.Collections.Generic.Dictionary`2 + ValueCollection [System.String, System.String]

til meg. Hva er det jeg mangler for å kunne få verdier -feltet?

Publisert på 23/03/2017 klokken 18:40
kilden bruker
På andre språk...                            


2 svar

stemmer
3

Prøve

valuesEntity[i].Resolution.Values[0].ToString();

Values er en samling av strenger.

Svarte 23/03/2017 kl. 19:38
kilden bruker

stemmer
0

Du kan også bruke LINQ og gjøre:

valuesEntity[i].Resolution.Values.FirstOrDefault();
Svarte 31/03/2018 kl. 14:38
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more