電子書籍の厳選無料作品が豊富!

JSONでデータを送信(TCP)したいです。
送りたいのは以下のメッセージなのですが、変数fの値は変化させて毎回違う値で送信したいです。

byte[] A =String.valueOf(progressi/100).getBytes("UTF8");

byte[] f="0".getBytes("UTF8");

f = ("{\"send\":{\"sky\":{\"x\":2.0,\"y\":0.0,\"z\":+A+},\"sea\":{\"x\":0.0,\"y\":0.0,\"z\":0.0}}}").getBytes("UTF8");

しかし、送信結果は
{"send":{"sky":{"x":0.0,"y":0.0,"z":+A+},"sea":{"x":0.0,"y":0.0,"z":0.0}}}
となってAをString.valueOf(progressi/100)の値にできません。どうすればよいでしょうか。

A 回答 (3件)

Aの位置に文字を埋め込む処理を書いて下さい。


また、まず文字列で処理して最後にバイナリ化でしょう。

StringBuilder とか String.format とか、
やり方は自由。
    • good
    • 0
この回答へのお礼

StringBuilderを使用して文字をどんどんadd on していったら上手く出来ました。どうもありがとうございます。

お礼日時:2016/12/17 11:34

「文字列の中に入れたらだめ」とわかっているんだったら, 人に聞くまでもなく「じゃあ外に出そう」って思うのが自然ではなかろうか.

    • good
    • 1
この回答へのお礼

Aを外に出したいのではなく、fの中に含めたいのですが、Aはある変数の値で毎回違う値を送りたいです。
A=3.0

f = ("{\"send\":{\"sky\":{\"x\":2.0,\"y\":0.0,\"z\":3.0},\"sea\":{\"x\":0.0,\"y\":0.0,\"z\":0.0}}}").getBytes("UTF8");

A=4.0
f = ("{\"send\":{\"sky\":{\"x\":2.0,\"y\":0.0,\"z\":4.0},\"sea\":{\"x\":0.0,\"y\":0.0,\"z\":0.0}}}").getBytes("UTF8");

のように。しかしAをどうすればfの中に数値として含めるのかがわかりません

お礼日時:2016/12/17 10:39

うん, +A+ の部分まで文字列の中に入れたらそうなるに決まってるよなぁ.

    • good
    • 0
この回答へのお礼

ですよね。どうすればよいでしょうか?

お礼日時:2016/12/17 00:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!