javascript - Hur man parser JSON med slumpmässiga fält i Typescript och React.js
Har Json-sträng med slumpmässiga fält i Typescript (jag vet inte vilka typer av fält som finns i json-sträng eller deras typer). Vill parsa json-sträng till ett objekt med standardtyp för fälten, till exempel string.
Parsa så här: let values=JSON.parse(this.props.values!)
Får ett fel när jag arbetar med React.js på grund av typen unknown. Kan inte heller fördefiniera interface eftersom jag inte vet vad som finns i json string
Object.entries(values).map(([key, value]) => {
renderValues = (
<>
<div className="col-1 text-left p-2" ></div>
<div className="col-2 text-right p-2" >{key}</div>
<div className="col-9 text-left p-2" >{value}</div>
</>)
})
Har fel: Typen 'unknown' kan inte tilldelas typen 'ReactNode'. Typen 'unknown' kan inte tilldelas typen 'ReactPortal'.ts(2322) index.d.ts(1244, 9): Den förväntade typen kommer från egenskapen 'children' som deklareras här på typen 'DetailedHTMLProps
Hur ger man i TypeScript, när man parsar json string till ett objekt, objektfält standardtyp eller kastar objektfält till standardtyp?
Svar #1
Som kommenterat; kan du prova följande:
renderValues = Object.entries(values).map(
([key: string, value: string]) => (
<>
<div className="col-1 text-left p-2"></div>
<div className="col-2 text-right p-2">{key}</div>
<div className="col-9 text-left p-2">{value}</div>
</>
)
);
Och snälla läs länken jag postade tidigare eftersom du inte använder Array.prototype.map på rätt sätt.
