Java将JSON解析为浮点数

Java将JSON解析为浮点数,java,json,string,floating-point,Java,Json,String,Floating Point,我有以下json字符串: String json = {"z":4.78944,"y":-0.07604187,"x":11.841576}; 我想解析它并创建: float x = 4.78944; float y = -0.07604187; float z = 11.841576; 如何在Java中使用输入变量stringJSON?使用JSONObject: 此后,使用getDouble函数访问键x、y和z的双精度值。您还可以使用比参考实现和更强大的库。查看如果您想要面向对象模型的反序

我有以下json字符串:

String json = {"z":4.78944,"y":-0.07604187,"x":11.841576};
我想解析它并创建:

float x = 4.78944;
float y = -0.07604187;
float z = 11.841576;
如何在Java中使用输入变量
stringJSON

使用JSONObject:


此后,使用getDouble函数访问键x、y和z的双精度值。

您还可以使用比参考实现和更强大的库。查看

如果您想要面向对象模型的反序列化,请查看Google Gson

创建一个模型Coordonate.java

public class Coordonate {
    private float x;
    private float y;
    private float z;

    public float getX() { return x; }
    public float getY() { return y; }
    public float getZ() { return z; }
}
反序列化JSON字符串:

String json = "{\"z\":4.78944,\"y\":-0.07604187,\"x\":11.841576}";
Coordonate cord = new Gson().fromJson(json, Coordonate.class);

除了Vivec的回答外,还使用:

虽然JSONObject上没有
getFloat()
,但将其作为字符串并解析为float对我来说效果很好:

Float.parseFloat(myJsonObject.getString("x"));

首先,该字符串赋值不会编译。其次,您有没有努力研究一些更常见的json解析库,比如Gson和Jackson?这看起来对吗
float x=(float)json.getDouble(“x”)它可以编译,不确定它是否可以工作。它应该可以。我以前使用过JSONObject对有效的JSON字符串进行反序列化,然后访问其中的属性。