XPath in JSON file

Hi Community,

We have received a sample JSON file to test if Trados Studio can handle it well.

I tried adding it to Studio and customise the parser settings, but actually with a first look in the file I'm not sure if it's not missing something, but I'm not too experienced in it, so I would like if you could confirm it, if the file in itself is complete.

Here is the file:

https://gist.github.com/litzinger/44cecca3406ef4669d0dc5e2ef9c3fe5 

It starts like this, does not seem to have a clear root element:

{
  "send_approval": "n",
  "publisher_save_status": "open",
  "publisher_view_status": "open",
  "site_language": "1",
  "submit": "save_and_close",
  "title": "Jamf Pro",
  "field_id_630": {
    "blocks_block_id_459538": {
      "draft": "0",
      "id": "459538",
      "blockDefinitionId": "10",
      "order": "1",
      "deleted": "false",
      "values": {
        "col_id_64": "comet",
        "col_id_70": [
          "8681",

}, "blocks_block_id_459546": { "draft": "0", "id": "459546", "blockDefinitionId": "7", "order": "9", "deleted": "false", "values": { "col_id_20": "Our Apple EMM makes sure everyone gets more out of their Apple devices with you to thank.", "col_id_121": "", "col_id_122": "center", "col_id_155": "center"


Under "values" they have "col_id_XX" elements which have the translatable content, but not always.

The instructions we received say that

Generally if the value is all lower cased and 1 word, or lower case and multiple words separated by an _ or - then it’s a variable, and not actual content. Thats probably a safer bet to do a regular expression match. This would match any value in a json object that starts with a lowercase letter, contain numbers, dashes, or underscores making it 1 word, or the words Yes and No (we use those values for true/false). ^([a-z0-9\-_|Yes|No])+$ (edited) 

If key matches (_\d+|title|text|content)$ AND value does _not_ match ^([a-z0-9\-_|Yes|No])+$  then it’s probably a safe bet that it is translatable text.

The "tree_order" parameter should always be excluded for translation.

Non translatable content also appears between curly brackets in some cases : exclude this as well

The only dates that should be translated are anything in the other fields you noted with underscores.



So this is one thing, but I'm not really sure where to start the parsing. Also if the file is complete because it seems to be lacking a root element, it looks like an excerpt but the customer says it should work.


What do you think?

Thank you!
Greta

Parents Reply
  • Hi

    Thank you.

    Yes I tried it with the JSON file type in Studio 2021 (JSON v 1.0.0.0 as the other one is for bilingual JSON as I see), but I'm stuck with the paths, as I'm not sure how to define for example the field_id / blocks_block / value / col_id . I'm trying different paths but whenever I paste the content here to test, the whole content, it always shows 'Parse error':
    https://jsonpath.com/ 

    So I'm wondering if maybe something is missing. Checked more samples of JSON files and I know now that not having one single root element is not an issue. But I'm still stuck.

    Can you please help? Can you please give me an example how to extract the text from under 'value / col_id'?

    Thank you!
    Greta

Children