EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  2025  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  2025 
<== Date ==> <== Thread ==>

Subject: Re: Create NTTable from JSON
From: "Veseli, Sinisa via Core-talk" <core-talk at aps.anl.gov>
To: "core-talk at aps.anl.gov" <core-talk at aps.anl.gov>, Karl Vestin <karl.vestin at ess.eu>
Date: Wed, 5 Apr 2023 14:22:47 +0000
Hi,

I am not sure if this helps, but if the object has correct structure as far as number/type columns, at the moment you could do something like this:

>>> nt = NtTable([STRING, INT, DOUBLE])
>>> nt.setColumn(0, ['xx', 'yy', 'zz'])
>>> nt.setColumn(1, [1, 2, 3])
>>> nt.setColumn(2, [11.1, 22.2, 33.3])
>>> nt.useNumPyArrays=False
>>> myString = json.dumps(dict(nt))
>>> print(myString)
{"labels": [], "value": {"column0": ["xx", "yy", "zz"], "column1": [1, 2, 3], "column2": [11.1, 22.2, 33.3]}, "descriptor": "", "timeStamp": {"secondsPastEpoch": 0, "nanoseconds": 0, "userTag": 0}, "alarm": {"severity": 0, "status": 0, "message": ""}}


>>> nt2 = NtTable([STRING, INT, DOUBLE])
>>> nt2.set(json.loads(myString))
>>> print(nt2)
epics:nt/NTTable:1.0
    string[] labels []
    structure value
        string[] column0 [xx, yy, zz]
        int[] column1 [1,2,3]
        double[] column2 [11.1,22.2,33.3]
    string descriptor
    time_t timeStamp
        long secondsPastEpoch 0
        int nanoseconds 0
        int userTag 0
    alarm_t alarm
        int severity 0
        int status 0
        string message

>>>

Sinisa

--
Siniša Veseli
Scientific Software Engineering & Data Management
Advanced Photon Source
Argonne National Laboratory
sveseli at anl.gov
(630)252-9182

From: Core-talk <core-talk-bounces at aps.anl.gov> on behalf of Karl Vestin via Core-talk <core-talk at aps.anl.gov>
Sent: Wednesday, April 5, 2023 8:25 AM
To: core-talk at aps.anl.gov <core-talk at aps.anl.gov>
Subject: Create NTTable from JSON
 

Dear all,

 

Are there any functions available to generate a NTTable from a JSON object or JSON schema? I have found a function to generate JSON from a PVObject, but not the other way around.

 

Anyone have insights to share?

 

Karl Vestin

Group Leader Hardware and Integration

Integrated Control Systems Division

European Spallation Source ERIC

 

+46721792066

P.O Box 176, SE 221 00 Lund, Sweden

Visiting address: Odarslövsvägen 113, Lund

 


References:
Create NTTable from JSON Karl Vestin via Core-talk

Navigate by Date:
Prev: Create NTTable from JSON Karl Vestin via Core-talk
Next: [Bug 2015234] Re: newline problem with genVersionHeader.pl Andrew Johnson via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  2025 
Navigate by Thread:
Prev: Create NTTable from JSON Karl Vestin via Core-talk
Next: Re: Create NTTable from JSON Michael Davidsaver via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  2025 
ANJ, 05 Apr 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions ·
· Download · Search · IRMIS · Talk · Documents · Links · Licensing ·