Avatar billede Morten Professor
27. maj 2022 - 21:24 Der er 1 løsning

React og api json

Hej

Har et problem med den api jeg har adgang til, den starter sådan:
{"Stocklist":[{
    "ITEMID":"0011579",
    "ITEMNAME":"Trolley SKS orange til vareprøver",
    "ITEMGROUPID":"4500",
    "ITEMGROUPNAME":"Reklame materialer",
    "BRAND":"SKS",
    "YEAR":"0",
    "INTRACODE":" ",
    "ORIGINCOUNTRYREGIONID":"de",
    "SRP - DKK":"",
    "B2B - DKK":"750",
    "B2B(CAMPAIGN) - DKK":"",
    "CAMPAIGN EXP. DATE":"",
    "PICTURE":" ",
    "REQGROUPID":"Død",
    "STATUS":"1",
    "PRODUCTQTY-COLLI":"0",
    "BICYCLE":"0",
    "BARCODE":"5707965151109",
    "CURRENT_STOCK":"0",
    "REMAINPURCHPHYSICAL":"0",
    "DELIVERYDATE_EST":""
    },{

Det er den Stocklist der gør hele problemet for mig at jeg ikke kan få det frem kun en hvis jeg laver en sti hen til et specielt id

Når jeg så laver en json uden Stocklist bare sådan her virker det fint
[{
    "ITEMID":"0011579",
    "ITEMNAME":"Trolley SKS orange til vareprøver",
    "ITEMGROUPID":"4500",
    "ITEMGROUPNAME":"Reklame materialer",
    "BRAND":"SKS",
    "YEAR":"0",
    "INTRACODE":" ",
    "ORIGINCOUNTRYREGIONID":"de",
    "SRP - DKK":"",
    "B2B - DKK":"750",
    "B2B(CAMPAIGN) - DKK":"",
    "CAMPAIGN EXP. DATE":"",
    "PICTURE":" ",
    "REQGROUPID":"Død",
    "STATUS":"1",
    "PRODUCTQTY-COLLI":"0",
    "BICYCLE":"0",
    "BARCODE":"5707965151109",
    "CURRENT_STOCK":"0",
    "REMAINPURCHPHYSICAL":"0",
    "DELIVERYDATE_EST":""
    }]


Er der en måde jeg kan få det ændret på en eller anden måde har prøvet dette:

// Constructor
    constructor(props) {
        super(props);

        this.state = {
            items: [],
            DataisLoaded: false
        };
    }

    // ComponentDidMount is used to
    // execute the code
    componentDidMount() {
        fetch(
            "URL")
            .then((res) => res.json())
            .then((json) => {
                this.setState({
                    items: [...Object.values(json), ...Object.keys(json)],
                    DataisLoaded: true,
                });

            })
    }
    render() {



        const { DataisLoaded, items } = this.state;

        if (!DataisLoaded) return <div>
            <h1> Please wait a time.... </h1> </div> ;

        return (
            <div className = "App">
                <h1> Fetch data from an api in react </h1>  {

                items.map((item, index) => (

                    <ol key={item} >
                        Brand_Name:  { item[index]['BRAND'] }
                    </ol>
                ))
            }
            </div>
        );
    }

Håber der er nogle der har en god ide til hvad jeg kunne gøre.

Med venlig hilsen
Morten
Avatar billede Morten Professor
28. maj 2022 - 07:28 #1
Har løst problemet med  substring(13).slice(0, -1) og så JSON.parse
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
Stort CIO-interview: Lemvigh-Müllers milliard-omsætning er blevet digital