我正在尝试验证以下字符串。实际上我在我的servlet中收到这个字符串,现在我需要在后端验证这些值。这样做的正确方法是什么。我应该首先将其转换为JSON对象然后转换为HashMap吗?请建议在此处使用正确/适当的方法。我是Java和JSON的新手。
字符串是
"{"if_ack":4},{"if_cmd":1,"if_state":1},{"if_cmd":1,"if_state":5}"
答案 0 :(得分:0)
我正在使用GSON在服务器上处理JSON。例如:
InputStream is (send by client, JSON format)
Reader reader = new InputStreamReader(is);
Gson gson = new Gson();
List<YourClass> items = gson.fromJson(reader, new TypeToken<List<YourClass>>()
YourClass应该具有if_ack,if_state,if_cmd,...等属性。
然后你就像这样简单:
for (YourClass item : items) {
//do whatever you want
}
编辑:你的字符串应该是正确的JSON格式,如下所示(JSON数组):[{&#34; if_ack&#34;:4},{&#34; if_cmd&#34;:1,&#34; if_state&#34;:1},{&#34; if_cmd&#34;:1,&#34; if_state&#34;:5}]
实施例:
你有这样的JSON:[{"id": "1", "image": "test1"}, {"id": "2", "image": "test2"}]
YourClass.java应该是:
public class YourClass{
private int id;
private String image;
//+ constructor, getters, setters,...
}
在服务器上,您可以通过InputStream从客户端接收JSON:
Reader reader = new InputStreamReader(is, "UTF-8");
Gson gson = new Gson();
List<YourClass> items = gson.fromJson(reader, new TypeToken<List<YourClass>>();
然后:
for (YourClass item: items){
//acces to item properties like item.id, item.image
}