`
王三
  • 浏览: 173744 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

abap javascript json

阅读更多

   最近想找一下ABAP中有无对JSON解析的支持,在SDN上找了几个FM,可惜支持都不是很好。发现ABAP Object中有一个类是 CL_JAVA_SCRIPT,提供了JS代码,JS文件编译运行的支持,试用了下,发现对一个简单的结构的JSON还是能解析的。代码如下:

DATA: grf_js_engine TYPE REF TO cl_java_script,
      g_result type string.


DATA: grf_ex_root TYPE REF TO cx_root,
      g_text      TYPE string.

START-OF-SELECTION.

  TRY.
      CALL METHOD cl_java_script=>create
        EXPORTING
          stacksize = 8096
          heapsize  = 640000
        RECEIVING
          ref       = grf_js_engine.
    CATCH cx_dynamic_check INTO grf_ex_root.
      g_text = grf_ex_root->get_text( ).
      MESSAGE g_text TYPE 'E'.
  ENDTRY.

  call method grf_js_engine->EVALUATE
        exporting
          JAVA_SCRIPT = 'var kk = {"name":2,"value":''justin''};'    "{tt:[{"name":2,"value":''justin''}]}
        RECEIVING
          result = g_result.

*   TRY.
   CALL METHOD grf_js_engine->get
     EXPORTING
       name   = 'kk'
     receiving
       RESULT = g_result
       .
*    CATCH CX_DYNAMIC_CHECK .
*   ENDTRY.

   data: gt_js type JS_PROPERTY_TAB,
         wa_js type line of JS_PROPERTY_TAB.
*  TRY.
   gt_js =  grf_js_engine->GET_PROPERTIES_SCOPE_GLOBAL( PROPERTY_PATH = 'kk' ).

*   CATCH CX_DYNAMIC_CHECK .
*  ENDTRY.

  write:'result: ', g_result.

 loop at gt_js into wa_js.
   write: / wa_js-name, wa_js-value, wa_js-kind.
 ENDLOOP.

 clear gt_js.
 gt_js =  grf_js_engine->GET_PROPERTIES_SCOPE_GLOBAL( PROPERTY_PATH = 'kk' ).

*   CATCH CX_DYNAMIC_CHECK .
*  ENDTRY.

 loop at gt_js into wa_js.
   write: / wa_js-name, wa_js-value, wa_js-kind.
 ENDLOOP. 

 

PS:如果JSON中嵌套有数组,目前没有找出解析的路径是什么,FT。

0
0
分享到:
评论

相关推荐

    ABAP json 相同解析类

    在ABAP(Advanced Business Application Programming)环境中,JSON(JavaScript Object Notation)解析是处理现代Web服务数据的关键技术。JSON是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析...

    JSON2ABAPType:基于JSON结构的ABAP类型的创建者

    JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,广泛用于Web应用程序之间的数据传输。在SAP系统中,ABAP(Advanced Business Application Programming)是主要的编程语言,处理和解析JSON数据变得...

    json复杂数据解析demo

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web服务和应用程序之间的数据传输。它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在本示例"json复杂数据...

    HTTP+JSON--ABAP交互方法.rar

    HTTP是互联网上应用最广泛的一种网络协议,用于传输超文本信息,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 【描述】提到的"ABAP交互方法"是...

    Sap Odata ABAP开发教程.zip

    客户端可以通过多种方式消费SAP ABAP环境中的ODATA服务,如JavaScript、Java、C#等,使用odata.js、Apache Olingo等库简化与服务的交互。 5. **最佳实践**: - **性能优化**:合理设计CDS模型,减少不必要的...

    使用abapgit进行代码审查:使用abapGit和Github作为ABAP代码审查工具

    - **转换工具**:存在工具可以将ABAP代码转换成JSON或其他格式,以便利用JavaScript工具进行审查,然后转换回ABAP。 通过这些步骤,abapGit和GitHub的组合成为ABAP开发中的强大代码审查工具,促进了团队之间的沟通...

    abap-advent-2020:abap-advent-2020

    通过在运行的ABAP先决条件已安装NodeJS 12 无需ABAP系统但是,要使ABAP在Node中运行需要大量的耐心,这将涉及对javascript和打字稿代码的调试!初始设置克隆此模板存储库后,请重命名所有对象,方法是更改abaplint....

    控制输入文本框的格式

    当用户完成输入并提交时,可以使用jQuery的`$.ajax`或`$.getJSON`方法发送一个AJAX请求,将验证后的数据传送到服务器进行进一步处理。在这个过程中,需要注意错误处理和用户反馈,比如使用`$.ajax`的`error`回调函数...

    最简单的下拉框联动不刷新页面示例

    AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器交换数据并局部更新页面来实现页面的异步刷新。在这个案例中,我们可能会使用...

    sap Web Service开发配置文档.doc

    SAP支持多种格式,如XML(eXtensible Markup Language)、JSON(JavaScript Object Notation)等。XML是SOAP消息的标准格式,而JSON通常用于更轻量级、高效的交互。开发者需要根据服务需求选择合适的交换格式,并在...

    在SAP中查询TABLE的18种方法

    OData服务提供了一种标准化的RESTful API,允许从SAP系统中以JSON或XML格式获取数据,适用于移动应用和Web应用的集成。 ### 14. BW/4HANA BW/4HANA是SAP Business Warehouse的下一代产品,它提供了强大的数据分析...

    code-pro:基于摩纳哥编辑器的标准注释的代码编辑器

    标准说明的代码专业版 Code Pro是的, 是一个免费的, ,笔记应用程序。...ini,java,javascript ,json,julia,kotlin,更少,lexon,lua,markdown,mips,msdax,mysql,objective-c,pascal,pascaligo,p

    SAPCustomWidget-1

    在使用SAP Custom Widget-1时,开发者需要了解SAP的Web IDE或相关开发工具,如ABAP或SAP Cloud Platform SDK。他们还需要熟悉JavaScript的基础知识,以及可能涉及到的前端框架和库,如jQuery、React或Angular。此外...

    Java版水果管理系统源码-openui5:openui5

    JavaScript UI 库,由功能丰富的核心和大量 UI 控件组成,这些控件组织在少数库中。 端到端 Fiori 应用程序将使用 XML 视图和 SAP WebIDE 个人版构建,课程还涵盖了设置系统所需的所有知识。 通过学习 SAP UI 5,您...

    Bootstrap-SmartForm:智能表格

    Bootstrap-Form-plugin背景:本码农.NET后端工程师,在项目开发中发现写了很多重复的代码,于是自己整了一套根据配置来生成form表单的插件,针对表单的改动仅需要修改配置的json即可,实用中发现还是蛮实用的,于是...

    Total Commander(TC)的CudaLister插件(32位和64位),含223个语法高亮文件,可预览大量文本文件类扩展名

    JSON.lcf LESS.lcf Lua.lcf Makefile.lcf Markdown.lcf Pascal.lcf Perl.lcf PHP.lcf PowerShell.lcf Properties.lcf Python.lcf Ruby.lcf SQL.lcf XML.lcf TypeScript.lcf JavaScript Babel.lcf ...

    SAP UI5 OData开发

    OData服务为实现这种集成提供了一种标准化的方法,支持REST(Representational State Transfer)原则,使得数据可以以JSON(JavaScript Object Notation)或ATOM XML格式呈现,并通过HTTP协议进行传输。 使用SAP ...

    SAPUI5_MyDashboard:SAPUI5简单仪表板

    4. **模型绑定**:SAPUI5的强项之一是其数据绑定能力,开发者会在`model`目录下创建模型,将数据源(如OData服务或JSON文件)与视图控件关联起来。 5. **应用配置**:`index.html`文件是应用的入口点,它加载SAPUI5...

    sapjcorestapi:SAP JCO Rest API

    4. **JSON数据交换**:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。SAP JCO REST API使用JSON作为数据交换格式,使得数据在客户端和服务器之间...

    sap_cap_and_fiori:SAP Cap和Fiori模板项目

    CAP 提供了一种跨平台、多语言的方法来构建应用程序,支持Java、Node.js和ABAP等编程语言。通过CAP,开发者可以快速创建数据服务、业务逻辑和用户界面,同时确保应用程序的可扩展性和可维护性。 Fiori是SAP设计的一...

Global site tag (gtag.js) - Google Analytics