1

我有以下 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 中完成此操作String json

4

4 回答 4

1

使用 JSONObject: http: //www.json.org/javadoc/org/json/JSONObject.html

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

于 2013-08-27T00:26:59.760 回答
1

如果您想要面向对象模型的反序列化,请在此处查看 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);
于 2013-08-27T00:53:10.893 回答
0

您还可以使用比参考实现更强大的库并使用 Jackson。看看这个关于如何在你的用例中使用它。

于 2013-08-27T00:28:50.613 回答
0

除了使用 Vivec 的答案:http: //www.json.org/javadoc/org/json/JSONObject.html

尽管 JSONObject 没有getFloat()将它作为字符串获取并将其解析为 float 对我来说效果很好。:

Float.parseFloat(myJsonObject.getString("x"));
于 2014-10-22T12:48:16.007 回答