MCPcopy
hub / github.com/AgentDeskAI/browser-tools-mcp / processJsonString

Function processJsonString

chrome-extension/devtools.js:200–239  ·  view source on GitHub ↗
(jsonString, maxLength)

Source from the content-addressed store, hash-verified

198
199// Modified processJsonString to handle arrays with size limit
200function processJsonString(jsonString, maxLength) {
201 console.log("Processing string of length:", jsonString?.length);
202 try {
203 let parsed;
204 try {
205 parsed = JSON.parse(jsonString);
206 console.log(
207 "Successfully parsed as JSON, structure:",
208 JSON.stringify(Object.keys(parsed))
209 );
210 } catch (e) {
211 console.log("Not valid JSON, treating as string");
212 return truncateStringsInData(jsonString, maxLength, 0, "root");
213 }
214
215 // If it's an array, process with size limit
216 if (Array.isArray(parsed)) {
217 console.log("Processing array of objects with size limit");
218 const processed = processArrayWithSizeLimit(
219 parsed,
220 settings.maxLogSize,
221 (item) => truncateStringsInData(item, maxLength, 0, "root")
222 );
223 const result = JSON.stringify(processed);
224 console.log(
225 `Processed array: ${parsed.length} -> ${processed.length} items`
226 );
227 return result;
228 }
229
230 // Otherwise process as before
231 const processed = truncateStringsInData(parsed, maxLength, 0, "root");
232 const result = JSON.stringify(processed);
233 console.log("Processed JSON string length:", result.length);
234 return result;
235 } catch (e) {
236 console.error("Error in processJsonString:", e);
237 return jsonString.substring(0, maxLength) + "... (truncated)";
238 }
239}
240
241// Helper to send logs to browser-connector
242async function sendToBrowserConnector(logData) {

Callers 1

sendToBrowserConnectorFunction · 0.70

Calls 2

truncateStringsInDataFunction · 0.70

Tested by

no test coverage detected