This solution is generated by ChatGPT, correctness is not guaranteed. You might also be able to find a solution fromcommunity posts.

AI solution for JavaScript Coding Question on BFE.dev
22. implement JSON.parse()

function parseJSON(jsonString) {  const index = { value: 0 };    function parseValue() {    const start = index.value;    let result;        switch (jsonString[start]) {      case '{':        result = parseObject();        break;              case '[':        result = parseArray();        break;              case '\"':        result = parseString();        break;              case 't':        result = parseTrue();        break;              case 'f':        result = parseFalse();        break;              case 'n':        result = parseNull();        break;              default:        result = parseNumber();        break;    }        return result;  }    function parseObject() {    index.value++;    const obj = {};        while (jsonString[index.value] !== '}') {      const key = parseString();            index.value++;      const value = parseValue();            obj[key] = value;            if (jsonString[index.value] === ',') {        index.value++;      }    }        index.value++;    return obj;  }    function parseArray() {    index.value++;    const arr = [];        while (jsonString[index.value] !== ']') {      const value = parseValue();            arr.push(value);            if (jsonString[index.value] === ',') {        index.value++;      }    }        index.value++;    return arr;  }    function parseString() {    const start = index.value + 1;    let end = start;        while (jsonString[end] !== '\"') {      if (jsonString[end] === '\\') {        end++;      }            end++;    }        const str = jsonString.slice(start, end);    index.value += str.length + 1;        return str;  }    function parseTrue() {    index.value += 4;    return true;  }    function parseFalse() {    index.value += 5;    return false;  }    function parseNull() {    index.value += 4;    return null;  }    function parseNumber() {    const start = index.value;    let end = start;        while ('0123456789-+eE.'.includes(jsonString[end])) {      end++;    }        const numStr = jsonString.slice(start, end);    const num = +numStr;    index.value += numStr.length;        return num;  }    return parseValue();}