Getting "error json data is invalid" on test and production (production is intermittent, sometimes ok) site but is fine on localhost. I am connecting on the same database for test site and localhost.
There are around 131,768 rows of data in our test case.
I tried useStreamLoader: true but no luck.
Attached is a sample nested json data and the error message.
Additional Info:
Flexmonster version "flexmonster": "2.9.79"
React version "react": "17.0.2"
Hello, Deo!
Thank you for reaching out to us.
Kindly note that Flexmonster expects to receive flat JSON data in an array of objects or an array of arrays format. You can check the examples of supported JSON formats by the link.
We assume that you are using dataRootPath property when connecting Flexmonster to nested JSON data. 
If our assumptions are correct, please note that this property is used to point out from which part of JSON file Flexmonster should read the data, and the data should be in the supported JSON format.
For example, if we set the dataRootPath: "sampletestDetails", the data should look as follows:
{
//other properties
sampletestDetails: [ //array of data
{
"subtestId": 1,
"testName": "Name 1"
},
{
"subtestId": 2,
"testName": "Name 2"
}
]
}
Also, please note that dataRootPath property works only for JSON data that is loaded via the filename property and is up to 30 MB in size, and is not compatible with useStreamLoader. For other cases, we recommend flattening the JSON before loading it into Flexmonster.
If our assumptions are not correct, and you are not using dataRootPath property, please provide us with your report configurations, as the provided sample-nested-data.json is loaded successfully into Flexmonster on our side without dataRootPath property.
Looking forward to hearing from you.
Kind regards,
Solomiia
Yes we are not using dataRootPath.
Please see configuration attached.
Hello, Deo!
Thank you for providing your report configuration.
Please note that when the dataSource.data property is used, the component expects the data to be already available when Flexmonster instance is created. If the data isn’t loaded yet and the data variable you are passing to Flexmonster contains anything other than a supported JSON array(e.g. a Promise, object, or function), Flexmonster will consider the provided data as an invalid JSON.
For the described case with approximately 130,000 rows of data, we recommend connecting the data via the filename property instead of loading it separately and passing it through dataSource.data. You can also enable the useStreamLoader: true when loading data via filename.
Hope you will find our answer helpful.
Kind regards,
Solomiia
Thanks Solomila, just to confirm I've added these 2 properties as per screenshot.
But before applying the changes needed for the filename property I will have to confirm the 'data' property as what we already have. That is after all necessary JSON data has loaded then I create the flexmonster instance.
Will update you on my progress.
Hello, Deo!
Thank you for the update.
Do not hesitate to ask if any further questions arise.
Kind regards,
Solomiia