On 08/12/2015 12:36 AM, Michael Van Canneyt wrote:


On Wed, 12 Aug 2015, Chris Moody wrote:

Hi all,

First off thanks to all who have provided help over the past few weeks, I just have one last thing I'm trying to unravel (that I know of currently) and this project should be done.

The JSON feed I'm reading will have 2 arrays in it, would it be best to copy these to a normal array and then process the data? Or best to step through the TJSONArray?

if there is going to be a lot of processing, you might be better off copying the data.
The JSON structure does incur some processing overhead.


I'm not sure how to copy a TJSONArray to an Array, I tried: A:= E.Value.AsArray; but that of course did not work.

A regular loop is simplest:

Var
  MyArray : TMyArray;
  MyJSONArray : TJSONArray;
  i : Integer;

begin
  MyJSONArray:=// Get the array...
  SetLength(MyArray,MyJSONArray.Count);
  For I:=0 to MyJSONArray.Count-1 do
    MyArray[i]:=MyJSONArray.Integers[i];
  // Now work with myarray
end.

Use the correct property for whatever type the array contains.

Michael.
_______________________________________________

Hi Michael,

Thanks or the feedback. Just to make sure I'm understanding this, here is some more information, part of the JSON feed I'm working with will look like this:

"add":["URL1","URL2","URL3"]

My intention was to be able to get the keys under "add" and turn it into an array.

So if I'm understanding this correctly, I have to do something like the following:

var
J:TJSONData;
A1:TJSONArray;
A2:Array of String;
E : TJSONEnum;

begin
// Put JSONData into J
for E in J do
  if E.Key = 'add' then
      //Somehow copy add from J to A1
     // Use your code to copy A1 into A2
end;


Is this the right way of looking at it?

I have checked what is available online and not finding a lot as far as how to work with JSON, hopefully this will improve. Once I finish this software, I'd be more than happy to help in donating time for making new Wiki pages as far as this subject is concerned.

Thanks again,

Chris


_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to