javascript - 创建一个将文本转换为 Json 文件的网站
问题描述
我正在尝试建立一个网站,供用户输入有关自己的信息并最终生成一个 Json 文件供他们下载。我可以使用 Java 创建它,但我需要一些帮助才能将它变成一个供用户使用的网站。
此外,如果有任何方法我可以只使用 JS、HTML 和 CSS 来做到这一点。
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import org.json.simple.*;
public class JsonFile {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scan = new Scanner(System.in);
System.out.println("Enter ID: ");
int id_Input = scan.nextInt();
System.out.println("Enter First Name: ");
String firstname_Input = scan.next();
System.out.println("Enter Last Name: ");
String lastname_Input = scan.next();
JSONObject patient = new JSONObject();
patient.put("id", id_Input);
patient.put("firstName", firstname_Input);
patient.put("lastName", lastname_Input);
System.out.println("Enter Father's First Name: ");
String firstname_father = scan.next();
System.out.println("Enter Father's Last Name: ");
String lastname_father = scan.next();
JSONObject father = new JSONObject();
father.put("firstName", firstname_father);
father.put("lastName", lastname_father);
JSONArray list = new JSONArray();
list.add(patient);
list.add(father);
try(FileWriter file = new FileWriter("testJSON.json")) {
file.write(list.toString());
file.flush();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
解决方案
根据我的理解,您需要根据用户输入转换 JSON。使用我下面的示例代码。也许它会帮助你。
<html>
<input type="text" id="txtid" value="Enter id"/>
<input type="text" id="txtfirstname" value="Enter first name"/>
<input type="text" id="txtlastname" value="Enter last name"/>
<input type="button" value="Display" id="btnDisplay" onclick="output()"/>
<script>
function output(){
//Data collector
var oData=[];
//Local Data object initialization
var local={
id:document.getElementById("txtid").value,
firstname:document.getElementById("txtfirstname").value,
lastname:document.getElementById("txtlastname").value
};
//Push data in data collector
oData.push(local);
//Convert data in json format string
var output=JSON.stringify(oData).toString();
//Data output
document.write("<h1>"+ output +"</h1>")
download("testfile.txt",output)
}
function download(filename, text) {
var element = document.createElement('a');
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
element.setAttribute('download', filename);
element.style.display = 'none';
document.body.appendChild(element);
element.click();
document.body.removeChild(element);
}
</script>
</html>
//**Paste this code in HTML file and run**.
//This is simple example for your reference only.
推荐阅读
- java - 如何使用 Eclipse 文本编辑器将字符串显示/编辑/保存到 RCP 应用程序中?
- python - 在 python 3 中列出从 3 到 21 的素数
- python - 无法使用 Yahoo Fantasy Sports API 找到统计数据
- c - 如何在c中打开具有用户定义名称的文件
- shell - 我可以在同一行打印数组索引和值吗?
- visual-studio-code - Visual Studio Code 不会注释掉空行
- cmake - 将 target_link_libraries 用于不以 lib* 开头的库
- ios - 如何在 ios 中制作类似 ig 故事加载样式的动画?
- http - 使用标头过滤代理的响应标头
- ios - ld: 找不到框架 FBAudienceNetwork