Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to send a Json Object in java
    text
    copied!<p>so I have a java Server Client Socket running, and I am trying to send a Json Object over the line. I run into a problem when I try to send the Json object. Because the Json object is not serialized. So what I do then is send it as a String to the Client, this works, but I need to rebuild the Json Object tree.</p> <p><strong>How do I rebuild a Json Object Tree after I send a Stringed version of the Json Object?</strong></p> <p>here is some code</p> <p>Server Side </p> <pre><code>//Snip //Inside loop out.writeObject(clientData.toString()); //End Snip </code></pre> <p>Client Side</p> <pre><code>//Snip while ((fromServer = objectIO.readObject()) != null) { commands.interpretServer(fromServer); sleepThread(100); if (fromServer.equals("Bye.")){ break; } } //End Snip </code></pre> <p>The Json is generated semi manually</p> <pre><code>clientData = Json.createObjectBuilder() .add("playerX", playerContent[0][1]) .add("playerY", playerContent[1][1]) .add("playerTotalHealth", playerContent[2][1]) .add("playerCurrentHealth", playerContent[3][1]) .add("playerTotalMana", playerContent[4][1]) .add("playerCurrentMana", playerContent[5][1]) .add("playerExp", playerContent[6][1]) .add("playerExpTNL", playerContent[7][1]) .add("playerLevel", playerContent[8][1]) .add("points", playerContent[9][1]) .add("strength", playerContent[10][1]) .add("dexterity", playerContent[11][1]) .add("constitution", playerContent[12][1]) .add("intelligence", playerContent[13][1]) .add("wisdom", playerContent[14][1]) .add("items", Json.createArrayBuilder() .add(items[0]).add(items[1]) .add(items[2]).add(items[3]) .add(items[4]).add(items[5]) .add(items[6]).add(items[7]) .add(items[8]).add(items[9]) .add(items[10]).add(items[11]) .add(items[12]).add(items[13]) .add(items[14]).add(items[15]) .add(items[16]).add(items[17]) .add(items[18]).add(items[19]) .add(items[20]).add(items[21]) .add(items[22]).add(items[23]) .build()) .add("currentMapX", playerContent[16][1]) .add("currentMapY", playerContent[17][1]) .build(); </code></pre> <p>Output the client receives</p> <pre><code>{"playerX":"2*32","playerY":"7*32","playerTotalHealth":"100","playerCurrentHealth":"100","playerTotalMana":"50","playerCurrentMana":"50","playerExp":"0","playerExpTNL":"20","playerLevel":"1","points":"0","strength":"1","dexterity":"1","constitution":"1","intelligence":"1","wisdom":"1","items":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24"],"currentMapX":"0","currentMapY":"0"} </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload