對我來說,一個很大的好奇心是爲什麼很多人喜歡去創建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