对我来说,一个很大的好奇心是为什么很多人喜欢去创建JSON文件,编写对象,并让服务器访问该文件,并使用java-json库来读取和解析数据时您可以将所有要发送的对象放入一个字符串中,该字符串通过适当的字符分隔键/值并发送服务器解析的单纯的字符串。为什么会有人使用JSON将数据传输到Java服务器?
例如,在JavaScript端:
function convertToSendableString(object) {
if (object instanceof Array){
var stringToSend = "";
for (i = 0; i < object.length; i++){
stringToSend += object[i] + "~";
}
}
if (object instanceof Object){
//Do something similar as what was done with Array but add another
//character to separate each key/value pair. ex.
//car~honda*book~dictionary*sanity~almostgone*
}
return stringToSend;
}
client.write(convertToSendableString(someObject));
然后在服务器端(在这种情况下,在Java):
is = new DataInputStream(socket.getInputStream());
os = new DataOutputStream(socket.getOutputStream());
in = new BufferedReader(new InputStreamReader((DataInputStream) is));
String line = "";
try {
while (in.ready()) {
char character = (char) in.read();
line = line + character;
}
} catch (IOException e) {
e.printStackTrace();
}
String[] parts = line.split("*");
...
等等......只要你请充分注意禁止在程序中的其他位置使用这些字符,为什么要将事情复杂到现代数据传输所做的极端?
感谢您的洞察!
好吧......也许创建一个对象比使用JSON.stringify()更容易,更快速,而不是制作只有开发人员才知道的“非标准”格式......我认为最好是采用标准化的格式,而不是让任何人以任何他们想要的方式格式化信息......另一位开发人员更容易理解发生的情况。 –
网页设计中的一个问题是,有太多的平台需要处理,开发人员经常会陷入他们非常了解某些事情的情况,而其他人则不太好。在这种情况下,开发人员倾向于尽可能减少学习曲线,并随着他们所知道的结束。另一方面,像JSON这样的标准在一定程度上可以减少开发开销。如果我可以在睡梦中做你的榜样,或者花两天时间确定我的不熟悉的替代方案没有问题,我将以你的榜样为例。 – BobRodes