How to read a JSON file containing multiple root elements?

前端 未结 4 1350
伪装坚强ぢ
伪装坚强ぢ 2020-12-02 00:10

If I had a file whose contents looked like:

{\"one\": 1}
{\"two\": 2}

I could simply parse each separate line as a separate JSON object (us

4条回答
  •  孤街浪徒
    2020-12-02 01:07

    You can also use this custom function to parse multiple root elements even if you have complex objects.

        static getParsedJson(jsonString) {
          const parsedJsonArr = [];
          let tempStr = '';
          let isObjStartFound = false;
          for (let i = 0; i < jsonString.length; i += 1) {
              if (isObjStartFound) {
                  tempStr += jsonString[i];
                  if (jsonString[i] === '}') {
                      try {
                          const obj = JSON.parse(tempStr);
                          parsedJsonArr.push(obj);
                          tempStr = '';
                          isObjStartFound = false;
                      } catch (err) {
                          // console.log("not a valid JSON object");
                      }
                  }
              }
              if (!isObjStartFound && jsonString[i] === '{') {
                  tempStr += jsonString[i];
                  isObjStartFound = true;
              }
           }
           return parsedJsonArr;
       }
    

提交回复
热议问题