2017-02-06 48 views
-1

我有一些JSON我有,所以我在教育自己的JSON解析等工作下面是从一个web服务返回的例子有效载荷(我已经剪掉它来帮助可读性)。预光标移动到我能够分析它是我知道正是我这里处理......一个对象,数组,嵌套数组,别的东西吗?什么格式是这样的JSON

我已经做了一些简单的google搜索,但所用的样品是非常基本的JSON字符串。 我在这里有什么,我怎么能认识到它为未来的工作?

[ 
    { 
     "RecordProcessID": 251037, 
     "CallProcessID": 406, 
     "FieldList": [ 
     { 
      "fieldName": "DateofCall", 
      "fieldValue": "1/02/2017" 
     }, 
     { 
      "fieldName": "TimeOfCall", 
      "fieldValue": "17:14:54" 
     }, 
     { 
      "fieldName": "Group", 
      "fieldValue": "Control" 
     }, 
     { 
      "fieldName": "OperatorName", 
      "fieldValue": "Jamie" 
     }, 
     { 
      "fieldName": "Reference", 
      "fieldValue": "251037" 
     }, 
     { 
      "fieldName": "RequestType", 
      "fieldValue": "(Secured)" 
     }, 
     { 
      "fieldName": "23773", 
      "fieldValue": "Blue" 
     }, 
     { 
      "fieldName": "23774", 
      "fieldValue": "9809" 
     }, 
     { 
      "fieldName": "FirstName", 
      "fieldValue": "Claire" 
     }, 
     { 
      "fieldName": "Surname", 
      "fieldValue": "Smith" 
     }, 
     { 
      "fieldName": "CallersAddress", 
      "fieldValue": "some address," 
     }, 
     { 
      "fieldName": "37527", 
      "fieldValue": "Yes I have done this" 
     }, 
     { 
      "fieldName": "CallersPhone", 
      "fieldValue": "00000" 
     }, 
     { 
      "fieldName": "CallersMobile", 
      "fieldValue": "" 
     }, 
     { 
      "fieldName": "Problemaddress", 
      "fieldValue": "another address" 
     }, 
     { 
      "fieldName": "39081", 
      "fieldValue": "" 
     }, 
     { 
      "fieldName": "CallDetails", 
      "fieldValue": "Secured." 
     }, 
     { 
      "fieldName": "PagedTime", 
      "fieldValue": "1718" 
     }, 
     { 
      "fieldName": "ReturnCallTime", 
      "fieldValue": "1721" 
     }, 
     { 
      "fieldName": "JobAcceptedBy", 
      "fieldValue": "Fred" 
     }, 
     { 
      "fieldName": "ProposedActions", 
      "fieldValue": "Will go have a look" 
     } 
     ] 
    } 
] 

,.... 

其它更多的上面,但这里剪断为了简洁]

回答

0
试图读取JSON是把它通过棉绒时

最好的办法,如http://json.parser.online.fr/

这给 json lint

所以你可以看到它是一组散列元素与键

  • RecordProcessID
  • CallProcessID
  • FieldList中(哈希数组的钥匙)
    • 字段名
    • fieldValue方法

不知道用什么语言你的工作中,但在通过和打印值红宝石环路我可以用

array = yourjsonsnippit 
array.each do |element| # Loop through array 
    element.each do |key, value| # Loop through hash elements (RecordProcessID, CallProcessID, FieldList) 
    if key == :FieldList # If its an FieldList, loop through its subelements and print them 
     value.each do |subelement| 
     puts subelement[:fieldName] 
     puts subelement[:fieldValue] 
     end 
    else # print the value 
     puts value 
    end 
    end 
end 

或者仅仅访问单个值,为每个阵列

array[0][:FieldList][0][:fieldName] 
+0

这就是伟大的感谢的第一要素,现在我有一些工作/学习用。不太清楚我如何访问整个字符串的“零件”的时候,他们都在他们面前有“字段名”和“fieldValue方法” - 如果我想我怎么会遍历JSON得到它来访问请求类型的值的例子。 ..就像你会用DOM? – Penfold

+0

添加了几个我如何访问ruby中的元素的例子。你应该能够把它当作数组和哈希在您所选择的语言 – ob264

+0

十分感谢。 C#。我目前正在将远程调用加载到一个stringbuilder中。我会看看如何用数组来做到这一点 – Penfold