如何突破Deno中prompt()方法的255字符输入限制
在Deno里实现无限制/高限制的JSON输入(不用依赖或循环)
Deno自带的prompt()确实有255字符的上限,这是底层终端readline实现的限制。要绕开这个问题,不用循环分段或者第三方依赖的话,直接读取标准输入(stdin)是最靠谱的方案。
具体实现方法
直接用Deno的内置API读取标准输入的全部内容,没有字符数限制:
// 读取标准输入的所有内容 const input = new TextDecoder().decode(await Deno.readAll(Deno.stdin)); // 按需解析JSON(可选步骤) try { const jsonData = JSON.parse(input.trim()); console.log("解析完成的JSON:", jsonData); } catch (err) { console.error("JSON格式不对:", err.message); }
使用方式
运行脚本后,直接粘贴任意长度的JSON内容,粘贴完按Ctrl+D(Linux/macOS)或者Ctrl+Z(Windows)就能结束输入,全程只需要粘贴一次,不用反复回车分段。
原理说明
Deno.readAll()会一直读取标准输入直到输入结束(EOF),没有内置的字符数限制,只要系统内存够,多大的JSON都能处理,而且完全用的是Deno原生API,不需要装任何依赖。
内容的提问来源于stack exchange,提问作者BookOfCooks
相关产品推荐
相关产品推荐

