从服务器解析Json

时间:2017-05-06 04:16:00

标签: java android json

我如何解析json:

{"SizeOptions": [
{
  "Name": "دور باسن",
  "GroupSizeId": 2,
  "Id": 5,
  "LangId": 0
},
{
  "Name": "دور کمر",
  "GroupSizeId": 2,
  "Id": 6,
  "LangId": 0
} ],"SizeValues": [
{
  "Value": "a",
  "SizeId": 11,
  "SizeOptionId": 5,
  "ProductId": 1069,
  "Id": 145627,
  "LangId": 0
},
{
  "Value": "a",
  "SizeId": 11,
  "SizeOptionId": 8,
  "ProductId": 1069,
  "Id": 145630,
  "LangId": 0
}  ],"Sizes": [
{
  "Name": "XXL",
  "GroupSizeId": 2,
  "Id": 11,
  "LangId": 0
},
{
  "Name": "L",
  "GroupSizeId": 2,
  "Id": 12,
  "LangId": 0
}]}

我想把所有的名字放在" SizeOptions" in diffrent Strings(String name1,name2,name3)

我试过这个开始:

 JSONObject jObject = new JSONObject(response);
 JSONObject p = jObject.getJSONObject("SizeOptions");
 String name = p.getString("Name");

但它只是给了我一个" Null"值! 它的问题是什么?我该怎么办呢?请帮忙

2 个答案:

答案 0 :(得分:0)

JSONObject jObject = new JSONObject(response);
JSONSONArray p = jObject.getJSONArray("SizeOptions");

for(int i=0;i<p.length();i++)
{
    JSONObject jObjectValue=p.getJSONObject(i);
    String name = jObjectValue.getString("Name");
}

答案 1 :(得分:0)

您正在尝试将JSONArray作为JSONObject。请尝试以下方法:

# define functions
msg = "hello world"
key = "/abc"

def function_hex(s):
    return "0x" + "".join("{:02x}".format(ord(c)) for c in s)

# transform input / key to hex

msg_hex = function_hex(msg)
print msg_hex

key_hex = function_hex(key)
print key_hex