我想读取一个包含数组的json(message)对象的值。
以下查询有助于d中的直接属性。
traces | extend d = parsejson(message) | d.Timestamp, d.Name;
如何在d(消息)中读取数组的属性部分。例如,如果我想阅读以下消息中的所有街道值...怎么办?这需要一个循环
message
{
"Timestamp": "12-12-2008",
Name: "Alex",
address: {
[{"street": "",zip:""},{"street":"", "zip":""}]
}
}
答案 0 :(得分:1)
执行此操作的一种方法是使用nameEnt
运算符(请参阅Comparable)
它将为数组中的每个元素输出一行,您可以迭代它们
所以在你的例子中,运行:
public Player() {
//setBackground(Color.green);
setSize(600, 400);
name = new JLabel();//Input hint
JOptionPane nameOption = new JOptionPane();
String nameEnt = nameOption.showInputDialog("First Name: ");
if (!nameEnt.matches("[a-zA-Z]+")) {
name.setText(nameEnt);
}
if (nameEnt.length() == 0) {
//if this condition is true JOption stays until name is entered or canceled
}
if (nameEnt == nameOption.CANCEL_OPTION) {
System.exit(0);
}
}
将为每个地址输出一行。